RC文件
opensipsctlrc包含opensipsctl,opensipsdbctl和osipsconsole工具的所有配置选项。
安装后文件位于
[INSTALL_PATH]/etc/opensips/opensipsctlrc
这个文件包含如下配置项:和数据库的交互,和opensips的运行时交互,通过opensipsctl和osipsconsole工具的控制选项。
最相关或最常用的配置如下:
- SIP_DOMAIN - opensips代理的sip域,用于系统添加一个新用户(通过opensipsctl工具)
- DB parameters - 包含创建数据库时opensipsdbctl使用的db认证信息,以及插入配置信息时opensipsctl需要的信息
- CTLENGINE - 当在opensipsctl工具运行mi命令时,fifo engine将使用transport。选项包括FIFO,XMLRPC和UDP
- OSIPS_FIFO - 当前opensips实例的opensips FIFO路径。加入你再同一个服务器上部署了多个opensips实例,你应该修改他。
- STORE_PLAINTEXT_PW - 当通过“opensipsctl add username”明星添加用户时,password以明文存储于在db,或者仅仅包含提供的password的hash版本。
配置文件
opensips配置文件包含所有的opensips核心和模块的所有配置参数,以及用于路由sip流量的实际路由逻辑。
安装后,默认的配置文件路径:
[INSTALL_PATH]/etc/opensips/opensips.cfg
配置文件是基于文本的,用opensips自定义语音编写,非常类似于c语音。你讲找到各种变量(拥有不同的作用域,在手册中进一步说明)你也可以使用像if/while/switch这样的经典构造,也可以调用带参数的sub-routines,这样脚本对于具有一些sip和变成技能的人非常易于阅读。
假如你修改了配置文件,必须重启opensips才能生效
由于每次修改opensips配置文件都需要重启opensips,因此根据opensips语法确保所做的更改都是正确的非常重要。
你可以通过运行来检查opensips配置文件的有效性。
[INSTALL_PATH]/sbin/opensips -C [PATH_TO_CFG]
检查配置文件的有效性时,如果cfg是正确的返回0,
如果配置文件包含任何错误,会在控制台展示,并返回-1
产生配置文件
使用menuconfig工具可以生成opensips配置文件。因为图形界面是给予ncurses的,所以请首先确保安装了ncurses开发库(通常是libncurses5-dev)。
使用menuconfig工具
menuconfig可以从opensips源码运行,也可以在安装后,再安装路径运行。
make menuconfig
- 安装之后,可以在安装路径直接运行menuconfig
[install_path]/sbin/osipsconfig
进入menuconfig工具后,导航到“generate opensips script”选项,然后选择所需要的脚本类型。选择脚本类型后,你可以配置该脚本的各个可用选项(如下所述)。使用空格可以为每个脚本启动某些选项。配置好所需选项后,可以按"q"键回退到上个菜单and点击“save changes”。然后可以根据你的配置生成opensips脚本。最后,图形界面将提供新生成的配置文件的路径。
/usr/local/opensips_proxy_1.12/etc/opensips/opensips_residential_2013-5-21_12:39:48.cfg
配置文件的类型
到目前为止,opensips1.12menuconfig自动脚本生成器支持三种类型的脚本。一下是脚本类型以及每隔脚本的可选项。
- Residential Script
- ENABLE_TCP: opensips将在tcp上监听sip请求
- ENABLE_TLS: opensips将在tcp上监听sip请求
- USE_ALIASES: opensips 将允许使用sip用户的别名
- USE_AUTH: opensips将认证invite和register请求
- USE_DBACC: opensips为所有的呼叫在db上存储ACC实体
- USE_DBUSERLOC: opensips将在数据库永久存储用户落地实体
- USE_DIALOG: opensips将跟踪活跃的对话
- USE_MULTIDOMAIN: opensips支持订阅者的多个域
- USE_NAT: opensips将通过修复sip消息并使用rtpproxy来应对nat
- USE_PRESENCE: opensips将充当presence服务器
- USE_DIALPLAN: opensips使用dialplana转换本地号码
- VM_DIVERSION: OpenSIPS will redirect to VM calls not reaching the subscribers
- HAVE_INBOUND_PSTN: opensips接收来自pstn的呼叫(带有静态ip认证)
- HAVE_OUTBOUND_PSTN: opensips向pstn发送数据拨号(带有静态ip认证)
- USE_DR_PSTN: opensips使用动态路由支持(LCR: dynamic routing support)和pstn互连
- Trunking Script
- ENABLE_TCP: opensips将在tcp上监听sip请求
- ENABLE_TLS: opensips将在tcp上监听sip请求
- USE_DBACC: opensips为所有的呼叫在db上存储ACC实体
- USE_DIALPLAN: opensips使用dialplana转换本地号码
- USE_DIALOG: opensips将跟踪活跃的对话
- DO_CALL_LIMITATION: opensips将限制每隔终极的并行呼叫数
- Load-Balancer Script
- ENABLE_TCP: opensips将在tcp上监听sip请求
- ENABLE_TLS: opensips将在tcp上监听sip请求
- USE_DBACC: opensips为所有的呼叫在db上存储ACC实体
- USE_DISPATCHER: opensips将使用DISPATCHER而不是负载均衡来分配流量
- DISALBE_PINGING:
签名产生的脚本的编辑
使用menuconfig产生opensips脚本后,你需要使用你喜欢的编辑器打开脚本,并且查看脚本中所有的“#CUSTOMIZE ME”注释。这些注释标记了用户需要关注的地方,并且通常是指自定义opensips监听地址或设置正确的数据库url.
在进行适当的“#CUSTOMIZE ME”更改后,你可以保存脚本并试用。