kamailio-ACC模块介绍【kamailio6.0. X】
Acc 模块
作者
Jiri Kuthan
iptel.org
jiri@iptel.org
Bogdan-Andrei Iancu
Voice Sistem SRL
bogdan@voice-system.ro
Ramona-Elena Modroiu
rosdev.ro
ramona@rosdev.ro
编辑
Bogdan-Andrei Iancu
Voice Sistem SRL
bogdan@voice-system.ro
Sven Knoblich
1&1 Internet AG
sven.knoblich@1und1.de
版权
© 2002, 2003 FhG FOKUS
© 2004, 2006 Voice Sistem SRL
© 2011 1&1 Internet AG
目录
- 管理员指南
- 概述
1.1 通用示例 - 额外计费
2.1 概述
2.2 定义与语法
2.3 工作原理 - 多呼叫腿计费
3.1 概述
3.2 配置
3.3 记录的数据 - 呼叫数据记录生成
4.1 概述
4.2 CDR 额外信息
4.2.1 定义与语法
4.3 多呼叫腿的 CDR
4.3.1 概述
4.3.2 配置
4.3.2.1 螺旋代理示例
4.3.3 记录的数据 - 依赖
5.1 Kamailio 模块
5.2 外部库或应用程序 - 参数
6.1 early_media (整数)
6.2 failed_transaction_flag (整数)
6.3 failed_filter (字符串)
6.4 report_ack (整数)
6.5 report_cancels (整数)
6.6 detect_direction (整数)
6.7 acc_prepare_flag (整数)
6.8 acc_prepare_always (整数)
6.9 acc_extra_nullable (整数)
6.10 multi_leg_info (字符串)
6.11 log_flag (整数)
6.12 log_missed_flag (整数)
6.13 log_level (整数)
6.14 log_facility (字符串)
6.15 log_extra (字符串)
6.16 db_flag (整数)
6.17 db_missed_flag (整数)
6.18 db_table_acc (字符串)
6.19 db_table_missed_calls (字符串)
6.20 db_url (字符串)
6.21 acc_method_column (字符串)
6.22 acc_from_tag_column (字符串)
6.23 acc_to_tag_column (字符串)
6.24 acc_callid_column (字符串)
6.25 acc_sip_code_column (字符串)
6.26 acc_sip_reason_column (字符串)
6.27 acc_time_column (字符串)
6.28 db_extra (字符串)
6.29 db_insert_mode (整数)
6.30 cdr_enable (整数)
6.31 cdr_skip (字符串)
6.32 cdr_expired_dlg_enable (整数)
6.33 cdr_start_on_confirmed (整数)
6.34 cdr_facility (整数)
6.35 cdr_extra (字符串)
6.36 cdr_extra_nullable (整数)
6.37 cdr_start_id (字符串)
6.38 cdr_end_id (字符串)
6.39 cdr_duration_id (字符串)
6.40 cdr_log_enable (整数)
6.41 cdrs_table (字符串)
6.42 time_mode (整数)
6.43 time_attr (字符串)
6.44 time_exten (字符串)
6.45 time_format (字符串)
6.46 reason_from_hf (整数)
6.47 clone_msg (整数)
6.48 cdr_on_failed (整数)
6.49 acc_extra_size (整数)
6.50 cdr_extra_size (整数) - 函数
7.1 acc_log_request(comment)
7.2 acc_db_request(comment, table)
7.3 acc_request(comment, table)
- 概述
- 常见问题
1. 概述
ACC 模块用于将事务信息记录到不同的后端,如 syslog 和 SQL。通过单独的模块 acc_radius
可以启用对 RADIUS 的支持。
acc_diameter
模块中提供了对 Diameter 协议的早期支持,但未与当前 Diameter 协议保持同步。如果需要 Diameter 支持,请使用 ims_charging
模块。
要为事务计费并选择使用哪一组后端,脚本编写者只需设置一些标志(参见模块参数部分的标志定义)。如果为特定后端设置了计费标志,ACC 模块将在事务完成时报告。模块的典型用法不需要特定的脚本命令——功能通过事务处理隐式绑定。脚本编写者只需使用适当的 setflag
标记事务以进行计费。即使如此,模块仍允许脚本编写者通过某些脚本函数在特殊情况下强制计费。
默认情况下,计费模块会记录事务的一组固定属性。如果要通过添加更多信息来自定义计费,请参阅下一章关于额外计费的内容。
固定的最小计费信息包括:
- 请求方法名称
- From 头的 TAG 参数
- To 头的 TAG 参数
- Call-Id
- 最终回复的 3 位状态码
- 最终回复的原因短语
- 事务完成时的时间戳
如果请求中不存在某个值,则记录为空字符串。
注意:
- 单个 INVITE 可能会生成多个计费报告——这是由于 SIP 的分叉特性。
- 所有与计费相关的标志都需要在请求处理路由中设置——只有“missed-call”标志可以从其他类型的路由中切换。
- 如果 UA 在通话中途失败,代理将永远不会发现。通常,更好的做法是从终端设备(如 PSTN 网关)进行计费,因为它最了解呼叫状态(包括媒体状态和 PSTN 状态)。然而,基于 CDR 的日志记录可以选择记录来自过期对话的现有信息(
cdr_extra
中的dlg_vars
)。请参阅cdr_expired_dlg_enable
参数。
SQL 后端支持已编译到模块中。
1.1 通用示例
loadmodule "modules/acc/acc.so"
modparam("acc", "log_level", 1)
modparam("acc", "log_flag", 1)if (uri=~"sip:+40") { /* 呼叫罗马尼亚 */if (!proxy_authorize("sip_domain.net", "subscriber")) {proxy_challenge("sip_domain.net", "0");exit;}if (method=="INVITE" && !check_from()) {log("from!=digest\n");sl_send_reply("403","Forbidden");}setflag(1); /* 设置计费标志 */t_relay(); /* 进入有状态模式 */
};
2. 额外计费
2.1 概述
除了静态的默认信息外,ACC 模块还允许动态选择要记录的额外信息。这允许您记录任何伪变量(AVP、请求的部分等)。
2.2 定义与语法
通过 xxx_extra
参数选择额外信息,指定要记录的附加信息的名称。这些信息通过伪变量定义,可能包括头、AVP 值或其他消息或系统值。参数语法为:
xxx_extra = extra_definition (';'extra_definition)*
extra_definition = log_name '=' pseudo_variable
支持的伪变量列表可在 Kamailio 文档 中找到。
2.3 工作原理
某些伪变量可能返回多个值(如头或 AVP)。在这种情况下,返回的值将以逗号分隔的格式嵌入单个字符串中。
3. 多呼叫腿计费
3.1 概述
由于转发操作,SIP 呼叫可能具有多个腿。例如,用户 A 呼叫用户 B,用户 B 将呼叫转发给用户 C。只有一个 SIP 呼叫,但有两条腿(A 到 B 和 B 到 C)。记录呼叫腿对于正确计费是必要的。
3.2 配置
通过一组 AVP 为每个呼叫腿存储一组值。脚本编写者必须确保正确插入这些 AVP。
3.3 记录的数据
对于每个呼叫,所有 AVP 集的值将被记录。记录方式取决于数据后端:
- syslog:所有腿集将作为一个记录字符串添加。
- 数据库:每个腿集将单独记录。
- RADIUS:所有腿集将添加到同一 RADIUS 计费消息中。
4. 呼叫数据记录生成
4.1 概述
除了基于事务的日志记录外,还可以直接从 Kamailio 生成和记录呼叫数据记录(CDR)。CDR 记录依赖于对话框模块。
4.2 CDR 额外信息
类似于事务额外信息,CDR 额外信息通过 cdr_extra
参数定义。
4.3 多呼叫腿的 CDR
与普通计费不同,CDR 日志记录使用对话框而不是事务来记录数据。
5. 依赖
5.1 Kamailio 模块
该模块依赖于以下模块:
- tm:事务管理器
- 数据库模块:如果使用 SQL 支持
- rr:记录路由,如果启用了
detect_direction
参数 - dialog:对话框,如果启用了
cdr_enable
参数
5.2 外部库或应用程序
无。
6. 参数
6.1 early_media (整数)
是否应记录早期媒体(任何带有正文的临时回复)?
默认值为 0(否)。
6.2 failed_transaction_flag (整数)
事务失败时(SIP 状态码 >= 300)是否应记录事务的标志。
默认值为未设置(无标志)。
6.3 failed_filter (字符串)
失败响应代码的字符串(300 到 999),用逗号分隔。即使设置了 failed_transaction_flag
,如果响应代码在列表中,失败事务也不会被记录。
默认值为未设置(无过滤)。
6.4 report_ack (整数)
是否尝试记录端到端的 ACK?
默认值为 0(否)。
6.5 report_cancels (整数)
是否显式记录 CANCEL 事务?
默认值为 0(否)。
6.6 detect_direction (整数)
控制顺序请求的方向检测。
默认值为 0(禁用)。
6.7 acc_prepare_flag (整数)
事务标志,指示是否可以在稍后计费。
默认值为未设置(无标志)。
6.8 acc_prepare_always (整数)
是否始终准备所有请求以标记事务稍后计费。
默认值为未设置。
6.9 acc_extra_nullable (整数)
如果设置为 1,数据库额外字段在未定义或为 $null
时设置为 NULL。
默认值为 0。
6.10 multi_leg_info (字符串)
定义用于每条呼叫腿计费的 AVP 集。
默认值为 0(禁用)。
6.11 log_flag (整数)
请求标志,用于通过 syslog 记录事务。
默认值为未设置(无标志)。
6.12 log_missed_flag (整数)
请求标志,用于通过 syslog 记录未接呼叫。
默认值为未设置(无标志)。
6.13 log_level (整数)
记录计费消息的日志级别。
默认值为 1(L_NOTICE)。
6.14 log_facility (字符串)
记录计费消息的日志设施。
默认值为 LOG_DAEMON。
6.15 log_extra (字符串)
要记录的额外值。
默认值为 NULL。
6.16 db_flag (整数)
请求标志,用于通过数据库记录事务。
默认值为未设置(无标志)。
6.17 db_missed_flag (整数)
请求标志,用于通过数据库记录未接呼叫。
默认值为未设置(无标志)。
6.18 db_table_acc (字符串)
成功呼叫的计费表名。
默认值为 “acc”。
6.19 db_table_missed_calls (字符串)
未接呼叫的计费表名。
默认值为 “missed_calls”。
6.20 db_url (字符串)
SQL 地址。
默认值为 NULL(SQL 禁用)。
6.21 acc_method_column (字符串)
存储请求方法名称的列名。
默认值为 “method”。
6.22 acc_from_tag_column (字符串)
存储 From 头 TAG 参数的列名。
默认值为 “from_tag”。
6.23 acc_to_tag_column (字符串)
存储 To 头 TAG 参数的列名。
默认值为 “to_tag”。
6.24 acc_callid_column (字符串)
存储 Callid 值的列名。
默认值为 “callid”。
6.25 acc_sip_code_column (字符串)
存储最终回复状态码的列名。
默认值为 “sip_code”。
6.26 acc_sip_reason_column (字符串)
存储最终回复原因短语的列名。
默认值为 “sip_reason”。
6.27 acc_time_column (字符串)
存储事务完成时间戳的列名。
默认值为 “time”。
6.28 db_extra (字符串)
要记录到数据库的额外值。
默认值为 NULL。
6.29 db_insert_mode (整数)
如果设置为 1,使用 INSERT DELAYED 添加记录。
默认值为 0。
6.30 cdr_enable (整数)
启用 CDR 报告。
默认值为 0(禁用)。
6.31 cdr_skip (字符串)
跳过具有此 dlg_var
设置的对话框的 CDR 生成。
默认值为 NULL。
6.32 cdr_expired_dlg_enable (整数)
是否在对话框过期时启用 CDR 日志记录?
默认值为 0(禁用)。
6.33 cdr_start_on_confirmed (整数)
是否从对话框确认时开始计时?
默认值为 0(从对话框创建时开始)。
6.34 cdr_facility (整数)
CDR 消息的日志设施。
默认值为 LOG_DAEMON。
6.35 cdr_extra (字符串)
定义自定义 CDR 字段的伪变量集。
默认值为 NULL。
6.36 cdr_extra_nullable (整数)
自定义 CDR 字段是否可以为 NULL?
默认值为 0。
6.37 cdr_start_id (字符串)
修改用于存储开始时间的 ID。
默认值为 “start_time”。
6.38 cdr_end_id (字符串)
修改用于存储结束时间的 ID。
默认值为 “end_time”。
6.39 cdr_duration_id (字符串)
修改用于存储持续时间的 ID。
默认值为 “duration”。
6.40 cdr_log_enable (整数)
控制是否将 CDR 记录写入 syslog。
默认值为 1(启用)。
6.41 cdrs_table (字符串)
存储对话框 CDR 的数据库表名。
默认值为 “”(无数据库存储)。
6.42 time_mode (整数)
存储与事件时间相关的额外值。
默认值为 0。
6.43 time_attr (字符串)
存储事件时间的 syslog 属性或数据库列名。
默认值为未设置。
6.44 time_exten (字符串)
存储事件时间的扩展值的 syslog 属性或数据库列名。
默认值为未设置。
6.45 time_format (字符串)
指定时间格式。
默认值为 “%Y-%m-%d %H:%M:%S”。
6.46 reason_from_hf (整数)
从何处获取 sip_reason。
默认值为 0(从状态行获取)。
6.47 clone_msg (整数)
是否克隆请求结构以避免并发访问。
默认值为 1。
6.48 cdr_on_failed (整数)
是否存储失败对话框的 CDR?
默认值为 1。
6.49 acc_extra_size (整数)
设置计费记录中额外属性的最大数量。
默认值为 64。
6.50 cdr_extra_size (整数)
设置 CDR 中额外属性的最大数量。
默认值为 64。
7. 函数
7.1 acc_log_request(comment)
报告请求,例如用于报告未接呼叫。
参数:
- comment:要附加的注释,可以包含伪变量。
7.2 acc_db_request(comment, table)
将请求报告发送到数据库。
参数:
- comment:要附加的注释,可以包含伪变量。
- table:要使用的数据库表。
7.3 acc_request(comment, table)
将计费记录写入 LOG 和 DATABASE 后端。
参数:
- comment:用于生成 SIP 响应代码和文本字段的注释。
- table:要使用的数据库表。
2. 常见问题
2.1 旧的 log_fmt 参数发生了什么?
该参数已被废弃,由额外计费功能取代。
2.2 旧的 multi_leg_enabled 参数发生了什么?
该参数已被 multi_leg_info
参数取代。
2.3 旧的 src_leg_avp_id 和 dst_leg_avp_id 参数发生了什么?
这些参数已被 multi_leg_info
参数取代。
2.4 在哪里可以找到更多关于 Kamailio 的信息?
请访问 Kamailio 官方网站。
2.5 在哪里可以发布关于此模块的问题?
请查看我们的邮件列表:
- 用户邮件列表:[sr-users@lists.kamailio.org](https://lists.kamailio.org/mailman3/postorius
相关文章:
kamailio-ACC模块介绍【kamailio6.0. X】
Acc 模块 作者 Jiri Kuthan iptel.org jiriiptel.org Bogdan-Andrei Iancu Voice Sistem SRL bogdanvoice-system.ro Ramona-Elena Modroiu rosdev.ro ramonarosdev.ro 编辑 Bogdan-Andrei Iancu Voice Sistem SRL bogdanvoice-system.ro Sven Knoblich 1&1 Internet …...
图漾相机——Sample_V1示例程序
文章目录 1.SDK支持的平台类型1.1 Windows 平台1.2 Linux平台 2.SDK基本知识2.1 SDK目录结构2.2 设备组件简介2.3 设备组件属性2.4 设备的帧数据管理机制2.5 SDK中的坐标系变换 3.Sample_V1示例程序3.1 DeviceStorage3.2 DumpCalibInfo3.3 NetStatistic3.4 SimpleView_SaveLoad…...
谈谈你所了解的AR技术吧!
深入探讨 AR 技术的原理与应用 在科技飞速发展的今天,AR(增强现实)技术已经悄然改变了我们与周围世界互动的方式。你是否曾想象过如何能够通过手机屏幕与虚拟物体进行实时互动?在这篇文章中,我们将深入探讨AR技术的原…...
C++计算特定随机操作后序列元素乘积的期望
有一个长度为 n n n的序列 a 1 , a 2 , . . . , a n a_1,a_2,...,a_n a1,a2,...,an。初始序列的所有元素均为 0 0 0。再给定正整数 m m m、 c c c和 ( n − m 1 ) (n-m1) (n−m1)个正整数 b 1 , b 2 , . . . , b n − m 1 b_1,b_2,...,b_{n-m1} b1,b2,...,bn−m1…...
【机器学习理论】朴素贝叶斯网络
基础知识: 先验概率:对某个事件发生的概率的估计。可以是基于历史数据的估计,可以由专家知识得出等等。一般是单独事件概率。 后验概率:指某件事已经发生,计算事情发生是由某个因素引起的概率。一般是一个条件概率。 …...
NPM 使用介绍
NPM 使用介绍 引言 NPM(Node Package Manager)是Node.js生态系统中的一个核心工具,用于管理JavaScript项目的依赖包。无论是开发一个小型脚本还是构建大型应用程序,NPM都能极大地提高开发效率。本文将详细介绍NPM的使用方法,包括安装、配置、依赖管理、包发布等,帮助您…...
langchain 实现多智能体多轮对话
这里写目录标题 工具定义模型选择graph节点函数定义graph 运行 工具定义 import random from typing import Annotated, Literalfrom langchain_core.tools import tool from langchain_core.tools.base import InjectedToolCallId from langgraph.prebuilt import InjectedSt…...
网络攻防实战指北专栏讲解大纲与网络安全法
专栏 本专栏为网络攻防实战指北,大纲如下所示 进度:目前已更完准备篇、HTML基础 计划:所谓基础不牢,地动山摇。所以下一步将持续更新基础篇内容 讲解信息安全时,结合《中华人民共和国网络安全法》(以下简…...
四、jQuery笔记
(一)jQuery概述 jQuery本身是js的一个轻量级的库,封装了一个对象jQuery,jquery的所有语法都在jQuery对象中 浏览器不认识jquery,只渲染html、css和js代码,需要先导入jQuery文件,官网下载即可 jQuery中文说明文档:https://hemin.cn/jq/ (二)jQuery要点 1、jQuery对象 …...
解锁微服务:五大进阶业务场景深度剖析
目录 医疗行业:智能诊疗的加速引擎 电商领域:数据依赖的破局之道 金融行业:运维可观测性的提升之路 物流行业:智慧物流的创新架构 综合业务:服务依赖的优化策略 医疗行业:智能诊疗的加速引擎 在医疗行业迈…...
C++:虚函数与多态性习题2
题目内容: 编写程序,声明抽象基类Shape,由它派生出3个派生类:Circle、Rectangle、Triangle,用虚函数分别计算图形面积,并求它们的和。要求用基类指针数组,使它每一个元素指向一个派生类对象。 …...
开源软件协议介绍
一、可以闭源使用/不具传染性的协议 允许商业使用和分发 1、BSD:详细介绍 2、LGPL许可证:详细介绍 3、MPL2.0:详细介绍 二、具有传染性/使用后需要开源自身软件的协议 不建议商业使用 1、GPL许可证:详细介绍...
MapReduce简单应用(一)——WordCount
目录 1. 执行过程1.1 分割1.2 Map1.3 Combine1.4 Reduce 2. 代码和结果2.1 pom.xml中依赖配置2.2 工具类util2.3 WordCount2.4 结果 参考 1. 执行过程 假设WordCount的两个输入文本text1.txt和text2.txt如下。 Hello World Bye WorldHello Hadoop Bye Hadoop1.1 分割 将每个文…...
【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(三)
目录 1 -> 生命周期 1.1 -> 应用生命周期 1.2 -> 页面生命周期 2 -> 资源限定与访问 2.1 -> 资源限定词 2.2 -> 资源限定词的命名要求 2.3 -> 限定词与设备状态的匹配规则 2.4 -> 引用JS模块内resources资源 3 -> 多语言支持 3.1 -> 定…...
(9) 上:学习与验证 linux 里的 epoll 对象里的 EPOLLIN、 EPOLLHUP 与 EPOLLRDHUP 的不同
(1)经过之前的学习。俺认为结论是这样的,因为三次握手到四次挥手,到 RST 报文,都是 tcp 连接上收到了报文,这都属于读事件。所以: EPOLLIN : 包含了读事件, FIN 报文的正常四次挥手、…...
Avalonia与QtQuick的简单对比
这个是Avalonia开发的示例应用程序(官方入门示例)(Avalonia 11.1.0 .Net 9.0) 刚启动时,内存占用150M左右,稍等一会儿后,内存占用降低到77M左右,CPU占用一直都在,我i9-…...
WebForms DataList 深入解析
WebForms DataList 深入解析 引言 在Web开发领域,控件是构建用户界面(UI)的核心组件。ASP.NET WebForms框架提供了丰富的控件,其中DataList控件是一个灵活且强大的数据绑定控件。本文将深入探讨WebForms DataList控件的功能、用法以及在实际开发中的应用。 DataList控件…...
jetson编译torchvision出现 No such file or directory: ‘:/usr/local/cuda/bin/nvcc‘
文章目录 1. 完整报错2. 解决方法 1. 完整报错 jetson编译torchvision,执行python3 setup.py install --user遇到报错 running build_ext error: [Errno 2] No such file or directory: :/usr/local/cuda/bin/nvcc完整报错信息如下: (pytorch) nxnx-desktop:~/Do…...
《苍穹外卖》项目学习记录-Day10订单状态定时处理
利用Cron表达式生成器生成Cron表达式 1.处理超时订单 查询订单表把超时的订单查询出来,也就是订单的状态为待付款,下单的时间已经超过了15分钟。 //select * from orders where status ? and order_time < (当前时间 - 15分钟) 遍历集合把数据库…...
“新月智能武器系统”CIWS,开启智能武器的新纪元
新月人物传记:人物传记之新月篇-CSDN博客 相关文章链接:星际战争模拟系统:新月的编程之道-CSDN博客 新月智能护甲系统CMIA--未来战场的守护者-CSDN博客 “新月之智”智能战术头盔系统(CITHS)-CSDN博客 目录 智能武…...
FPGA| 使用Quartus II报错Top-level design entity ““ is undefined
1、使用FPGA准备点亮LED测试下板子,发现这个报错Error (12007): Top-level design entity "LEDLED" is undefined 工程如上图 报错如下图 2、分析到原因是因为工程名称和顶层模块里面的module名称不一样导致 解决办法:修改module名称和顶层模…...
如何实现滑动列表功能
文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了沉浸式状态栏相关的内容,本章回中将介绍SliverList组件.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在这里介绍的SliverList组件是一种列表类组件,类似我们之前介…...
数据结构:优先级队列—堆
一、优先级队列 1、优先级队列概念 优先级队列,听名字我们就知道他是一种队列,队列在前面我们已经学习过了,它是一种先进先出的数据结构,但是在特殊的情况下,我们我们队列中元素是带有一定优先级的,它需要…...
SpringCloud系列教程:微服务的未来(十八)雪崩问题、服务保护方案、Sentinel快速入门
前言 在分布式系统中,雪崩效应(Avalanche Effect)是一种常见的故障现象,通常发生在系统中某个组件出现故障时,导致其他组件级联失败,最终引发整个系统的崩溃。为了有效应对雪崩效应,服务保护方…...
Java小白入门教程:Object
目录 一、定义 二、作用 三、使用场景 四、语法以及示例 1、创建Object类型的对象 2、使用 toString()方法 3、使用 equals()方法 4、使用 hashCode()方法 5、使用 getClass()方法 6、使用 clone()方法 7、使用 finalize()方法 一、定义 在Java中, object…...
ubuntu 更新24LTS中断导致“系统出错且无法恢复,请联系系统管理员”
22LTS to 24LTS 更新过程中手jian把更新程序controlC导致的。 解决 目前企图完成更新来恢复,重启后有软件包冲突,sudo apt upgrade报冲突。无法进行。 将原来source.list重新 sudo dpkg --configure -a sudo apt install -f 这些都不管用。还是显示gno…...
【单细胞第二节:单细胞示例数据分析-GSE218208】
GSE218208 1.创建Seurat对象 #untar(“GSE218208_RAW.tar”) rm(list ls()) a data.table::fread("GSM6736629_10x-PBMC-1_ds0.1974_CountMatrix.tsv.gz",data.table F) a[1:4,1:4] library(tidyverse) a$alias:gene str_split(a$alias:gene,":",si…...
ComfyUI安装调用DeepSeek——DeepSeek多模态之图形模型安装问题解决(ComfyUI-Janus-Pro)
ComfyUI 的 Janus-Pro 节点,一个统一的多模态理解和生成框架。 试用: https://huggingface.co/spaces/deepseek-ai/Janus-1.3B https://huggingface.co/spaces/deepseek-ai/Janus-Pro-7B https://huggingface.co/spaces/deepseek-ai/JanusFlow-1.3B 安装…...
FLTK - FLTK1.4.1 - demo - bitmap
文章目录 FLTK - FLTK1.4.1 - demo - bitmap概述笔记END FLTK - FLTK1.4.1 - demo - bitmap 概述 // 功能 : 演示位图数据在按钮上的显示 // * 以按钮为范围或者以窗口为范围移动 // * 上下左右, 文字和图像的相对位置 // 失能按钮,使能按钮 // 知识点 // FLTK可…...
网络安全技术简介
网络安全技术简介 随着信息技术的迅猛发展,互联网已经成为人们日常生活和工作中不可或缺的一部分。与此同时,网络安全问题也日益凸显,成为全球关注的焦点。无论是个人隐私泄露、企业数据被盗取还是国家信息安全受到威胁,都与网络…...
2025.2.1——四、php_rce RCE漏洞|PHP框架
题目来源:攻防世界 php_rce 目录 一、打开靶机,整理信息 二、解题思路 step 1:PHP框架漏洞以及RCE漏洞信息 1.PHP常用框架 2.RCE远程命令执行 step 2:根据靶机提示,寻找版本漏洞 step 3:进行攻击…...
Upscayl-官方开源免费图像AI增强软件
upscayl 链接:https://pan.xunlei.com/s/VOI0Szqe0fCwSSUSS8zRqKf7A1?pwdhefi#...
【LeetCode 刷题】二叉树-公共祖先
此博客为《代码随想录》二叉树章节的学习笔记,主要内容为二叉树公共祖先问题相关的题目解析。 文章目录 236. 二叉树的最近公共祖先235. 二叉搜索树的最近公共祖先 236. 二叉树的最近公共祖先 题目链接 class Solution:def lowestCommonAncestor(self, root: Tre…...
本地部署DeepSeek开源多模态大模型Janus-Pro-7B实操
本地部署DeepSeek开源多模态大模型Janus-Pro-7B实操 Janus-Pro-7B介绍 Janus-Pro-7B 是由 DeepSeek 开发的多模态 AI 模型,它在理解和生成方面取得了显著的进步。这意味着它不仅可以处理文本,还可以处理图像等其他模态的信息。 模型主要特点:Permalink…...
群晖搭建Gitea教程(使用系统自带的postgresql)
基于群晖7.2.2,使用套件中心的gitea,和系统自带的postgresql postgresql: 切换到postgres用户 sudo -I -u postgres 在想要保存数据库的磁盘路径下创建PostgreSql文件夹 初始化数据库文件夹配置 initdb -D ./PostgreSql 备份./PostgreSql路径下的post…...
洛谷 P8724 [蓝桥杯 2020 省 AB3] 限高杆
洛谷题目传送门 题目描述 某市有 n 个路口,有 m 段道路连接这些路口,组成了该市的公路系统。其中一段道路两端一定连接两个不同的路口。道路中间不会穿过路口。 由于各种原因,在一部分道路的中间设置了一些限高杆,有限高杆的路…...
DeepSeek文生图模型Janus-Pro论文解读 —— 多模态AI的革命?
介绍 整个AI行业仍在适应最近发布的、震惊人工智能领域的 DeepSeek-R1。1月28日除夕当天的凌晨,DeepSeek 又发布了另一款出色的开源模型 Janus-Pro。这一次,它是一款能与其他顶级多模态模型相媲美的多模态人工智能模型。 在本文中,我们将解…...
C语言:整型提升
一, 整型提升 C语⾔中整型算术运算总是⾄少以缺省(默认)整型类型的精度来进⾏的。 为了获得这个精度,表达式中的字符和短整型操作数在使⽤之前被转换为普通整型,这种转换称为整型提升。 整型提升的意义: …...
DRM系列六:Drm之KMS
KMS(Kernel Mode Setting)是负责显示输出的核心组件,它处理与plane、crtc、encoder和connector相关的各项任务。简单来说,KMS就是结构体drm_mode_config、drm_mode_object和组件(object)的结合。 KMSdrm_m…...
前端 Vue 性能提升策略
一、引言 前端性能优化是确保 Web 应用快速响应和流畅用户体验的关键。对于使用 Vue.js 构建的应用,性能优化不仅涉及通用的前端技术,还包括针对 Vue 特性的特定优化措施。本文将从多个方面探讨如何全面提升前端和 Vue 应用的性能。 二、前端性能优化基础 1. 减少初始加载…...
【C语言】static关键字的三种用法
【C语言】static关键字的三种用法 C语言中的static关键字是一个存储类说明符,它可以用来修饰变量和函数。static关键字的主要作用是控制变量或函数的生命周期和可见性。以下是static关键字的一些主要用法和含义: 局部静态变量: 当static修饰…...
数仓实战项目,大数据数仓实战(离线数仓+实时数仓)
1.课程目标 2.电商行业与电商系统介绍 3.数仓项目整体技术架构介绍 4.数仓项目架构-kylin补充 5.数仓具体技术介绍与项目环境介绍 6.kettle的介绍与安装 7.kettle入门案例 这个连线是点击shift键,然后鼠标左键拖动 ctrls保存一下 csv输入配置 Excel输出配置 配置完 …...
Unity安装教学与相关问题
文章目录 1. 前言2.Unity Hub2.1 下载Unity Hub2.2 安装Unity Hub2.3 注册Unity账号2.4 在Hub上登录账号2.5 在Hub上获取许可证 3. 下载并安装Unity3.1 从Unity Hub下载(推荐)3.1.1 选择下载版本3.1.2 选择下载组件3.1.3 安装Visual Studio Community 20…...
Linux_线程同步生产者消费者模型
同步的相关概念 同步:在保证数据安全的前提下,让线程能够按照某种特定的顺序访问临界资源,从而有效避免饥饿问题,叫做同步竞态条件:因为时序问题,而导致程序异常,我们称之为竞态条件。 同步的…...
边缘检测算法(candy)
人工智能例子汇总:AI常见的算法和例子-CSDN博客 Canny 边缘检测的步骤 1. 灰度转换 如果输入的是彩色图像,则需要先转换为 灰度图像,因为边缘检测通常在单通道图像上进行。 2. 高斯滤波(Gaussian Blur) 由于边缘…...
Hot100之双指针
283移动零 题目 思路解析 那我们就把不为0的数字都放在数组前面,然后数组后面的数字都为0就行了 代码 class Solution {public void moveZeroes(int[] nums) {int left 0;for (int num : nums) {if (num ! 0) {nums[left] num;// left最后会变成数组中不为0的数…...
租房管理系统实现智能化租赁提升用户体验与运营效率
内容概要 在当今快速发展的租赁市场中,租房管理系统的智能化转型显得尤为重要。它不仅帮助房东和租客之间建立更高效的沟通桥梁,还优化了整个租赁流程。通过智能化技术,这套系统能够自动处理资产管理、合同签署、财务管理等所有关键环节。这…...
spring和Mybatis的逆向工程
在现代企业级开发中,使用Spring和MyBatis进行快速、高效的数据库操作是非常常见的。本文将深入探讨如何使用Spring和MyBatis进行逆向工程,帮助开发者自动生成数据库相关的代码,提高开发效率和代码质量。 一、什么是逆向工程 逆向工程是指从…...
计算机网络 IP 网络层 2 (重置版)
IP的简介: IP 地址是互联网协议地址(Internet Protocol Address)的简称,是分配给连接到互联网的设备的唯一标识符,用于在网络中定位和通信。 IP编制的历史阶段: 1,分类的IP地址: …...
松灵机器人 scout ros2 驱动 安装
必须使用 ubuntu22 必须使用 链接的humble版本 #打开can 口 sudo modprobe gs_usbsudo ip link set can0 up type can bitrate 500000sudo ip link set can0 up type can bitrate 500000sudo apt install can-utilscandump can0mkdir -p ~/ros2_ws/srccd ~/ros2_ws/src git cl…...