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 的各种功能。
如果不确定使用哪个文件,可以查看两个配置文件的内容,检查其中的差异,看看是否有特定的自定义设置或模块路径配置。