一、环境:
PC操作系统:CentOS Linux release 7.9.2009 (Core)
gcc 版本:4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
unimrcp版本:1.7.0
本文主要是记录一下关于配置文件的研究。
unimrcp分为服务端和客户端,即 unimrcpserver 和 unimrcpclient 。
二、服务端和客户端共用配置文件
文件如下:
- logfile.xml(日志文件说明)
- logger.xml(日志输出配置)
- dirlayout.xml(说明目录布局的,一般不需要改动)
1、logfile.xml(日志文件说明)
<?xml version="1.0" encoding="UTF-8"?>
<!-- Log File Document -->
<aptlogfile>
<!-- Log File Settings
purge-existing 是否在启动时删除已有的日志文件。
max-age 日志文件的生存期(以天为单位)。 过时的日志文件将在启动和下一次循环时确定并删除。 设0为无穷大。
max-count 要存储的最大日志文件数。 如果到达,则删除最旧的日志文件。 设0为无穷大。
max-size 日志文件的最大大小,以Mb为单位。
-->
<settings
purge-existing="false"
max-age="0"
max-count="100"
max-size="8"/>
</aptlogfile>
2、logger.xml(日志输出配置)
<?xml version="1.0" encoding="UTF-8"?>
<!-- Logger Document -->
<aptlogger>
<!-- 日志输出模式
CONSOLE 控制台输出
FILE 文件输出
SYSLOG 系统日志输出
CONSOLE,FILE 控制台和文件一起输出
-->
<output>CONSOLE</output>
<!-- 日志输出格式
DATE 日期输出
TIME 时间输出
PRIORITY 优先级输出
MARK 文件名、行号输出
THREAD 调用线程标识符输出
-->
<headers>DATE,TIME,PRIORITY</headers>
<!-- 日志输出优先级
EMERGENCY 出现系统不可用
ALERT 出现报警
CRITICAL 出现至关重要的问题
ERROR 出现异常
WARNING 出现警告
NOTICE 出现提示
INFO 出现信息
DEBUG 用于调试
-->
<priority>INFO</priority>
<!-- 设置默认日志源的屏蔽模式为
NONE 按原样记录
COMPLETE 完全屏蔽私有数据
ENCRYPTED 加密私有数据
-->
<masking>NONE</masking>
<!--
除了默认日志源外,还可以设置其他日志源,这些日志源可能设置了不同的优先级和日志屏蔽模式。
允许对每个日志源应用灵活的屏蔽规则。这个是使用的其他模块的日志等级配置。
-->
<sources>
<source name="MPF" priority="INFO" masking="NONE"/>
<source name="UNIRTSP" priority="INFO" masking="NONE"/>
<source name="SOFIASIP" priority="INFO" masking="NONE"/>
</sources>
</aptlogger>
三、服务端(unimrcpserver)
服务端会使用到的配置文件如下:
- unimrcpserver.xml(最主要的)
- unimrcpserver.xsd(用于描述unimrcpserver.xml内元素的文档,一般不需要改动(除非新增元素))
通常来说最后实现的结果都是需要把服务端部署到服务器上,客户端通过外网访问服务端的。所以必然需要用到外网IP和外网端口。
1、外网IP
这里的外网IP不是本机的IP,直接百度 “IP”可以得到,或者打开网站 https://www.ip138.com/ 可得。
2、外网端口
按目前的理解如下,服务端创建通讯流程如下:
- 创建SIP代理,这里需要使用到一个外网端口(默认是8060)
- 创建RTSP服务,这里需要使用到一个外网端口(默认是1554)
- 创建MRCPv2代理,这里需要使用到一个外网端口(默认是1544)
- 创建RTP通讯,这里需要用到的外网端口(默认5000 至 6000这个区间段)
这些端口都是可以修改配置的,其中RTP通讯的端口需要是连续的,是在通讯中内部根据实际情况从范围内自动分配的。
3、配置文件说明(unimrcpserver.xml)
<?xml version="1.0" encoding="UTF-8"?>
<!-- UniMRCP服务器文档 -->
<unimrcpserver xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="unimrcpserver.xsd"
version="1.0">
<properties>
<!-- 如果属性“type”设置为“auto”,IP地址由主机名隐式确定。 这是默认设置。-->
<ip type="auto