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

kamailio源文件modules.lst的内容解释

在执行make cfg 后,在kamailio/src目录下有一个文件modules.lst,内容如下:

# this file is autogenerated by make modules-cfg# the list of sub-directories with modules
modules_dirs:=modules# the list of module groups to compile
cfg_group_include=# the list of extra modules to compile
include_modules= # the list of static modules
static_modules= # the list of modules to skip from compile list
skip_modules= # the list of modules to exclude from compile list
exclude_modules= acc_json acc_radius app_java app_lua app_perl app_python app_python3 app_python3s app_ruby app_ruby_proc auth_ephemeral auth_radius cdp cdp_avp cnxcc cplc crypto db2_ldap db_berkeley db_cassandra db_mongodb db_mysql db_oracle db_perlvdb db_postgres db_redis db_sqlite db_unixodbc dialplan dnssec erlang evapi gcrypt geoip geoip2 gzcompress h350 http_async_client http_client ims_auth ims_charging ims_dialog ims_diameter_server ims_icscf ims_ipsec_pcscf ims_isc ims_ocs ims_qos ims_qos_npn ims_registrar_pcscf ims_registrar_scscf ims_usrloc_pcscf ims_usrloc_scscf jansson janssonrpcc json jsonrpcc jwt kafka kazoo lcr ldap log_systemd lost lwsc memcached microhttpd misc_radius mqtt nats ndb_cassandra ndb_mongodb ndb_redis nghttp2 nsq outbound peering phonenum presence presence_conference presence_dfks presence_dialoginfo presence_mwi presence_profile presence_reginfo presence_xml pua pua_bla pua_dialoginfo pua_json pua_reginfo pua_rpc pua_usrloc pua_xmpp rabbitmq regex rls rtp_media_server ruxc sctp secsipid secsipid_proc slack snmpstats stirshaken systemdops tls tls_wolfssl tlsa topos_redis utils uuid websocket xcap_client xcap_server xhttp_pi xmlops xmlrpc xmpp $(skip_modules)modules_all= $(filter-out modules/CVS modules/CMakeLists.txt, $(wildcard modules/*))
modules_noinc= $(filter-out $(addprefix modules/, $(exclude_modules) $(static_modules)), $(modules_all)) 
modules= $(filter-out $(modules_noinc), $(addprefix modules/, $(include_modules) )) $(modules_noinc) 
modules_configured:=1

这段代码是一个Makefile片段,用于配置和选择要编译的模块。它定义了一些变量和规则,用于控制哪些模块应该被编译,哪些模块应该被排除。以下是对代码的详细解释:

1. 模块目录

modules_dirs:=modules
  • modules_dirs 变量指定了包含模块的子目录。这里只有一个目录 modules

2. 模块组

cfg_group_include=
  • cfg_group_include 变量用于指定要编译的模块组。这里为空,表示没有特定的模块组被包含。

3. 额外模块

include_modules= 
  • include_modules 变量用于指定额外的模块,这些模块将被包含在编译列表中。这里为空,表示没有额外的模块被包含。

4. 静态模块

static_modules= 
  • static_modules 变量用于指定静态模块。静态模块通常是必须包含的模块。这里为空,表示没有静态模块。

5. 跳过模块

skip_modules= 
  • skip_modules 变量用于指定要跳过的模块。这些模块将不会被编译。这里为空,表示没有模块被跳过。

6. 排除模块

exclude_modules= acc_json acc_radius app_java app_lua app_perl app_python app_python3 app_python3s app_ruby app_ruby_proc auth_ephemeral auth_radius cdp cdp_avp cnxcc cplc crypto db2_ldap db_berkeley db_cassandra db_mongodb db_mysql db_oracle db_perlvdb db_postgres db_redis db_sqlite db_unixodbc dialplan dnssec erlang evapi gcrypt geoip geoip2 gzcompress h350 http_async_client http_client ims_auth ims_charging ims_dialog ims_diameter_server ims_icscf ims_ipsec_pcscf ims_isc ims_ocs ims_qos ims_qos_npn ims_registrar_pcscf ims_registrar_scscf ims_usrloc_pcscf ims_usrloc_scscf jansson janssonrpcc json jsonrpcc jwt kafka kazoo lcr ldap log_systemd lost lwsc memcached microhttpd misc_radius mqtt nats ndb_cassandra ndb_mongodb ndb_redis nghttp2 nsq outbound peering phonenum presence presence_conference presence_dfks presence_dialoginfo presence_mwi presence_profile presence_reginfo presence_xml pua pua_bla pua_dialoginfo pua_json pua_reginfo pua_rpc pua_usrloc pua_xmpp rabbitmq regex rls rtp_media_server ruxc sctp secsipid secsipid_proc slack snmpstats stirshaken systemdops tls tls_wolfssl tlsa topos_redis utils uuid websocket xcap_client xcap_server xhttp_pi xmlops xmlrpc xmpp $(skip_modules)
  • exclude_modules 变量列出了所有要排除的模块。这些模块将不会被编译。列表中包含了许多模块名称,并且还包含了 $(skip_modules),这意味着 skip_modules 中的模块也会被排除。

7. 所有模块

modules_all= $(filter-out modules/CVS modules/CMakeLists.txt, $(wildcard modules/*))
  • modules_all 变量列出了 modules 目录下的所有模块,但排除了 CVSCMakeLists.txt 文件。

8. 不包含的模块

modules_noinc= $(filter-out $(addprefix modules/, $(exclude_modules) $(static_modules)), $(modules_all)) 
  • modules_noinc 变量列出了所有不被包含的模块。它从 modules_all 中排除了 exclude_modulesstatic_modules 中指定的模块。

9. 最终模块列表

modules= $(filter-out $(modules_noinc), $(addprefix modules/, $(include_modules) )) $(modules_noinc) 
  • modules 变量是最终的模块列表。它包含了 include_modules 中指定的模块,并且排除了 modules_noinc 中的模块。

10. 配置标志

modules_configured:=1
  • modules_configured 变量被设置为 1,表示模块配置已经完成。

总结

这段代码的主要目的是根据配置变量(如 include_modulesexclude_modulesstatic_modules 等)来生成最终的模块列表 modules,以便在编译时只编译需要的模块。通过这种方式,可以灵活地控制哪些模块被包含在编译过程中,哪些模块被排除。

如果要编译所有模块,进行如下操作

如果你想要编译所有模块,可以按照以下步骤操作:

1. 修改 exclude_modules 变量

将所有需要排除的模块都从 exclude_modules 中移除,确保没有模块被排除。你可以直接清空 exclude_modules 变量,或者确保没有任何模块在其中。

exclude_modules = 

2. 清空 include_modulesstatic_modules

确保没有在 include_modulesstatic_modules 中指定特定的模块,这样所有模块都会按照默认的设置进行编译。

include_modules = 
static_modules = 

3. 保持 modules_all 变量

保持原样,不需要做任何修改。modules_all 会列出所有的模块。

modules_all = $(filter-out modules/CVS modules/CMakeLists.txt, $(wildcard modules/*))

4. 重新生成配置文件

完成上述修改后,重新运行 make modules-cfg 来重新生成配置文件。所有模块应该都包含在内。

5. 编译 Kamailio

最后,运行 make 来开始编译,所有模块都会被编译。

make

通过这些步骤,你可以确保编译所有的模块。如果之前已经修改过配置文件,只需清空排除和特定包含的模块设置,默认情况下会编译所有模块。

最终的内容

如果你想要编译所有模块,最终的配置文件内容应该类似于以下内容:

# this file is autogenerated by make modules-cfg# the list of sub-directories with modules
modules_dirs := modules# the list of module groups to compile
cfg_group_include =# the list of extra modules to compile
include_modules = # the list of static modules
static_modules = # the list of modules to skip from compile list
skip_modules = # the list of modules to exclude from compile list
exclude_modules = # the list of modules that will be compiled
modules_all = $(filter-out modules/CVS modules/CMakeLists.txt, $(wildcard modules/*))# the list of modules to compile (no exclusions or specific includes)
modules_noinc = $(modules_all) modules = $(modules_noinc)modules_configured := 1

解释:

  1. include_modules = static_modules = :这两个变量是空的,意味着没有额外指定要包含或静态编译的模块。
  2. exclude_modules = :这个变量是空的,意味着没有模块被排除。
  3. modules_noinc = $(modules_all):这个变量包含了所有模块,因为没有排除任何模块。
  4. modules = $(modules_noinc):最终的 modules 变量包含了所有模块,即所有模块都会被编译。

结果:

通过这些修改,Kamailio 将编译所有模块,没有任何排除或指定的模块。你只需要执行 make 来编译所有模块了。

相关文章:

kamailio源文件modules.lst的内容解释

在执行make cfg 后,在kamailio/src目录下有一个文件modules.lst,内容如下: # this file is autogenerated by make modules-cfg# the list of sub-directories with modules modules_dirs:modules# the list of module groups to compile cf…...

亚远景-从SPICE到ASPICE:汽车软件开发的标准化演进

一、SPICE标准的起源与背景 SPICE,全称“Software Process Improvement and Capability dEtermination”,即“软件流程改进和能力测定”,是由国际标准化组织ISO、国际电工委员会IEC、信息技术委员会JTC1联合发起制定的ISO 15504标准。该标准旨…...

vue3 + ElementPlus 封装列表表格组件包含分页

在前端开发中,封装组件是必不可少的。今天就来封装一个通用的列表表格组件,包含分页功能,可以提高代码的复用性和可维护性。 1. 组件设计 Props: tableData:表格数据。columns:表格列配置。total&#xff…...

挑战项目 --- 微服务编程测评系统(在线OJ系统)

一、前言 1.为什么要做项目 面试官要问项目,考察你到底是理论派还是实战派? 1.希望从你的项目中看到你的真实能力和对知识的灵活运用。 2.展示你在面对问题和需求时的思考方式及解决问题的能力。 3.面试官会就你项目提出一些问题,或扩展需求…...

Med-R2:基于循证医学的检索推理框架:提升大语言模型医疗问答能力的新方法

Med-R2 : Crafting Trustworthy LLM Physicians through Retrieval and Reasoning of Evidence-Based Medicine Med-R2框架Why - 这个研究要解决什么现实问题What - 核心发现或论点是什么How - 1. 前人研究的局限性How - 2. 你的创新方法/视角How - 3. 关键数据支持How - 4. 可…...

Oh3.2项目升级到Oh5.0(鸿蒙Next)具体踩坑记录(一)

目录 1.自动修复部分 Cause: The project structure and configuration require an upgrade. Solution: 1. Use Migrate Assistant to auto-upgrade the project structure and configuration. 2. Manually upgrade the project structure and configuration by following th…...

【自动化办公】批量图片PDF自定义指定多个区域识别重命名,批量识别铁路货物运单区域内容改名,基于WPF和飞桨ocr深度学习模型的解决方案

项目背景介绍 铁路货运企业需要对物流单进行长期存档,以便后续查询和审计。不同的物流单可能包含不同的关键信息,通过自定义指定多个区域进行识别重命名,可以使存档的图片文件名具有统一的规范和明确的含义。比如,将包含货物运单…...

Spring Boot篇

为什么要用Spring Boot Spring Boot 优点非常多,如: 独立运行 Spring Boot 而且内嵌了各种 servlet 容器,Tomcat、Jetty 等,现在不再需要打成 war 包部署到 容器 中,Spring Boot 只要打成一个可执行的 jar 包就能独…...

Unity3D学习笔记(二)

一、Unity编辑器相关 1、 Unity特殊的专属文件夹 1) Editor:编辑器相关资源可以放到此文件中,包括图片、脚本等文件。 2)Editor Default Resources:配合Editor使用不会打包到包中 3)Plugins:存放第三方SD…...

个人毕业设计--基于HarmonyOS的旅行助手APP的设计与实现(挖坑)

在行业混了短短几年,却总感觉越混越迷茫,趁着还有心情学习,把当初API9 的毕业设计项目改成API13的项目。先占个坑,把当初毕业设计的文案搬过来 摘要:HarmonyOS(鸿蒙系统)是华为公司推出的面向全…...

游戏引擎 Unity - Unity 打开项目、Unity Editor 添加简体中文语言包模块、Unity 项目设置为简体中文

Unity Unity 首次发布于 2005 年,属于 Unity Technologies Unity 使用的开发技术有:C# Unity 的适用平台:PC、主机、移动设备、VR / AR、Web 等 Unity 的适用领域:开发中等画质中小型项目 Unity 适合初学者或需要快速上手的开…...

python开发:爬虫示例——GET和POST请求处理

一、Get请求 import json import requests#输入示例:urlhttps://www.baidu.com #RequestHeader:F12标头-请求标头-原始-复制到这(忽略第一句) def GetRequest(url,RequestHeader""):try:dic{}RequestHeaderList RequestHeader.s…...

开源数据分析工具 RapidMiner

RapidMiner是一款功能强大且广泛应用的数据分析工具,其核心功能和特点使其成为数据科学家、商业分析师和预测建模人员的首选工具。以下是对RapidMiner的深度介绍: 1. 概述 RapidMiner是一款开源且全面的端到端数据科学平台,支持从数据准备、…...

Vue canvas画图画线例子,数据回显与隔离,点拖拽修改

组件 <template><divstyle"display: flex; height: 342px; width: 760px; border: 1px solid #000"><divstyle"position: relative; height: 100%; width: 608px; min-width: 608px"><canvasid"mycanvas"ref"mycanva…...

Python实现CAN FD 通信(基于PCAN开发CAN FD测试工具)

目录 一.背景 二. 硬件环境 1.CAN通信设备之PCAN 2.物理架构图 三. 资料分析 四. 二次开发 五. 应用 六. 总结 一.背景 在汽车电子领域中CAN是一种被广泛应用的通信协议,CAN 是controller area network 的缩写(以下称为can),是iso国际标准化的串行通信协议。 关于…...

LeetCode--347. 前 K 个高频元素/Golang中的堆(container/heap)

例题链接-前k个高频元素 前言 以前都是用的C写算法题&#xff0c;最近也想熟悉一下golang的数据结构&#xff0c;故来一篇题解堆分析。 正文 这里重点不在分析题目&#xff0c;在于golang中的 container/heap 对于内部实现逻辑有兴趣的可以去看看源码。 这里先给出题解的代…...

关于大数据

在大数据背景下存在的问题&#xff1a; 非结构化、半结构化数据&#xff1a;NoSQL数据库只负责存储&#xff1b;程序处理时涉及到数据移动&#xff0c;速度慢 是否存在一套整体解决方案&#xff1f; 可以存储并处理海量结构化、半结构化、非结构化数据 处理海量数据的速…...

9-收纳的知识

[ComponentOf(typeof(xxx))]组件描述&#xff0c;表示是哪个实体的组件 [EntitySystemOf(typeof(xxx))] 系统描述 [Event(SceneType.Demo)] 定义事件&#xff0c;在指定场景的指定事件发生后触发 [ChildOf(typeof(ComputersComponent))] 标明是谁的子实体 [ResponseType(na…...

堆的实现——堆的应用(堆排序)

文章目录 1.堆的实现2.堆的应用--堆排序 大家在学堆的时候&#xff0c;需要有二叉树的基础知识&#xff0c;大家可以看我的二叉树文章&#xff1a;二叉树 1.堆的实现 如果有⼀个关键码的集合 K {k0 , k1 , k2 , …&#xff0c;kn−1 } &#xff0c;把它的所有元素按完全⼆叉树…...

机器学习6-全连接神经网络2

机器学习6-全连接神经网络2-梯度算法改进 梯度下降算法存在的问题动量法与自适应梯度动量法一、动量法的核心思想二、动量法的数学表示三、动量法的作用四、动量法的应用五、示例 自适应梯度与RMSProp 权值初始化随机权值初始化Xavier初始化HE初始化(MSRA) ![在这里插入图片描述…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...