opensips -help
以下是 opensips
命令及其选项的中文解释(基于 3.6.0-dev 版本):
命令用法
bash复制代码opensips -l 地址 [-l 地址 ...] [选项]
选项说明
选项 | 功能 |
---|---|
-f 文件 | 指定配置文件(默认为 /usr/local//etc/opensips/opensips.cfg )。 |
-c | 检查配置文件是否有错误。 |
-C | 类似于 -c ,但额外检查包括的路由块中导出的函数标志。 |
-l 地址 | 在指定的地址/接口上监听(可以多次使用 -l 以监听多个地址)。地址格式为 [协议:]地址[:端口] ,如:-l localhost 、-l udp:127.0.0.1:5080 、-l eth0:5062 。默认监听所有接口。 |
-n 进程数 | 每个 UDP 接口要 fork 的工作进程数量(默认值:8)。 |
-r | 使用 DNS 检查是否需要为 via 字段添加 received= 。 |
-R | 与 -r 类似,但使用反向 DNS;(若需同时启用,使用 -rR )。 |
-v | 转发回复时开启 via: 主机检查。 |
-d | 调试模式(重复使用 -d 可提高调试级别)。 |
-D | 启用调试模式运行。 |
-F | 守护进程模式,但主进程保持前台运行。 |
-E | 已自 3.4 版本起废弃,建议改为设置配置参数 "stderror_enabled=yes" 。 |
-N 进程数 | TCP 工作进程数(默认值:与 -n 相等)。 |
-W 方法 | 设置轮询方法(poll method)。 |
-V | 显示版本号。 |
-h | 显示此帮助信息。 |
-b 数值 | 自动探测时,最大接收缓冲区大小(即使操作系统允许,也不会超过此值)。 |
-a 分配器 | 设置内存分配器,支持:F_MALLOC 、F_MALLOC_DBG 、Q_MALLOC 、Q_MALLOC_DBG 、HP_MALLOC 、HP_MALLOC_DBG 。 |
-k 分配器 | 设置 pkg 内存分配器(覆盖 -a 的设置)。 |
-s 分配器 | 设置共享内存分配器(覆盖 -a 的设置)。 |
-e 分配器 | 设置重启持久内存分配器(覆盖 -a 的设置)。 |
-m 数值 | 设置分配的共享内存大小(以 MB 为单位)。 |
-M 数值 | 设置分配的 pkg 内存大小(以 MB 为单位)。 |
-w 目录 | 更改工作目录为指定路径(默认:/ )。 |
-t 目录 | 将进程 chroot 到指定目录。 |
-u 用户 ID | 更改用户 ID。 |
-g 组 ID | 更改组 ID。 |
-p 预处理命令 | 使用指定系统命令预处理配置文件(以及任何包含的文件)。命令通过标准输入接收输入,并通过标准输出输出结果。 |
-P 文件 | 创建一个 PID 文件。 |
-G 文件 | 创建一个 PGID 文件。 |
-A 地址 | 设置全局公告地址(Globally Advertised Address)。 |
示例
- 启动 OpenSIPS 并监听特定接口和端口:bash复制代码
opensips -l udp:192.168.1.100:5060 -f /etc/opensips.cfg
- 检查配置文件是否有错误:bash复制代码
opensips -c -f /etc/opensips.cfg
- 调试模式运行:bash复制代码
opensips -D -d
如果有其他疑问,可以进一步咨询。
find / -name opensips.cfg
/usr/local/etc/opensips/opensips.cfg
/usr/local/opensips/etc/opensips/opensips.cfg
这两个文件的区别
这两个路径下的 opensips.cfg
文件看起来非常相似,但它们的区别可能与 OpenSIPS 的安装方式以及配置文件的用途有关。我们可以从以下几个角度来分析:
1. 文件路径分析
/usr/local/etc/opensips/opensips.cfg
:通常,/usr/local/
是用户安装的软件所在的默认路径。当你从源代码编译并安装 OpenSIPS 时,它默认会安装在这个目录下。因此,这个路径下的opensips.cfg
文件应该是 OpenSIPS 通过源代码编译安装后的默认配置文件。/usr/local/opensips/etc/opensips/opensips.cfg
:这是另一个常见的安装路径,通常是在你安装 OpenSIPS 的时候,/usr/local/opensips
是 OpenSIPS 安装目录本身,etc/opensips/
是其中的配置文件目录。因此,这个路径下的配置文件通常是与 OpenSIPS 安装目录相关的,可能包含更多的模块化配置,或者是某些特殊配置文件。
2. 配置文件的区别
-
功能性配置:从路径来看,
/usr/local/opensips/etc/opensips/opensips.cfg
可能是 OpenSIPS 的主配置文件,包含了核心的服务和模块配置,而/usr/local/etc/opensips/opensips.cfg
可能是某些额外模块或自定义配置的文件。如果你是在一个特定的环境下安装并配置 OpenSIPS,第二个路径中的文件可能是你根据系统需求调整过的版本。 -
默认与自定义配置:有时,
/usr/local/etc/opensips/opensips.cfg
可能是一个系统预设的默认配置文件,而/usr/local/opensips/etc/opensips/opensips.cfg
可能是手动修改后的配置文件,包含了你根据实际情况定制的设置。
3. 安装方式与系统环境
- 如果你是通过包管理器(例如
apt
或yum
)安装 OpenSIPS,这两个文件的存在可能是因为 OpenSIPS 在系统目录(如/usr/local/etc/
)和 OpenSIPS 安装目录(如/usr/local/opensips/
)都有配置文件。 - 如果你是从源代码编译安装 OpenSIPS,那么
/usr/local/opensips/etc/opensips/
可能是主配置文件目录,而/usr/local/etc/opensips/
可能是一个更通用的配置目录。
总结
/usr/local/etc/opensips/opensips.cfg
:通常是默认配置文件,可能是 OpenSIPS 安装时自动生成的初始配置。/usr/local/opensips/etc/opensips/opensips.cfg
:更可能是 OpenSIPS 实际运行时使用的配置文件,尤其是从源代码安装时,该文件可能更精细地控制 OpenSIPS 的各种功能。
如果不确定使用哪个文件,可以查看两个配置文件的内容,检查其中的差异,看看是否有特定的自定义设置或模块路径配置。