freeswitch服务器的时间同步设置

概述
在生产环境中,一般会有N台freeswitch 服务器,不同服务器之间的信令和话单的时间不能相差太多,否则对查找和定位问题会造成一定的困扰。
同时,freeswitch的默认运行设置并未直接使用系统时间,而是在fs启动时获取系统时间,并在之后的运行过程中使用内部时钟计算时间。
所以,在fs运行期间的信令和话单中的时间同步就会格外重要,并有特殊之处,需要特别设置。
环境
centos:CentOS release 7.0 (Final)或以上版本
freeswitch:v1.8.7
GCC:4.8.5
fs时间同步接口
首先要说明的是,fs为什么不直接使用系统时间?
根据官方文档介绍,是出于对CDR话单的保护,防止在fs运行过程中,由于系统时间变化的不确定性导致CDR话单计费时长的错误问题。
通常,在fs运行比较长的一段时间之后,从fs的日志、话单等可以看出,fs内部时间和系统时间是不一致的。
这里有一点要注意的是,在自定义的业务模块中,尽量不要使用系统时间,否则当fs内部时间和系统时间出现较大偏差时,会产生莫名其妙的bug。
fs提供了API接口,在运行状态下,同步系统时间到fs内部时间。
fsctl sync_clock
fsctl sync_clock_when_idle
sync_clock模式会马上同步系统时间,可能会造成话单计费时长问题。
sync_clock_when_idle模式更安全,会在系统idle(无呼叫0 channels)的情况下同步系统时间。
时间同步设置
安装ntpdate工具。
sudo yum install ntpdate
设置系统定时任务。
sudo crontab -e
30 4 * * * /usr/sbin/ntpdate cn.pool.ntp.org; /sbin/hwclock -w
0 5 * * * /usr/local/freeswitch/bin/fs_cli -x "fsctl sync_clock_when_idle"
每天凌晨4点30分执行ntpdate时间同步,并写入硬件时钟。
每天凌晨5点执行fs的api接口同步系统时间到fs内部时间。
总结
freeswitch多节点串并联之后,信令和话单的时钟同步需要使用fs内部接口刷新。
空空如常
求真得真
freeswitch服务器的时间同步设置的更多相关文章
- 部署NTP服务器进行时间同步
NTP服务端:linl_S IP:10.0.0.15 NTP客户端:lin_C IP:10.0.0.16 NTP服务概述 1.原理 NTP(Network TimeProtocol,网络时 ...
- Linux配置NTP服务器,时间同步
当服务器多了,时间准确与否,一致与否是个大问题.虽然这个问题总是被忽略,但是统一一致的时间是很有必要的.下面说一下在局域网内配置Linux时间服务器的方法. 配置的环境及要求: 假设在192.168. ...
- CentOS 7.2部署NTP服务器实现时间同步
CentOS 7.2部署NTP服务器实现时间同步 [日期:2017-12-18] 来源:Linux社区 作者:梁明远 [字体:大 中 小] 1. 前言 对于容器编排系统,前段时间主要研究kube ...
- centos7搭建svn服务器及客户端设置
centos7搭建svn服务器及客户端设置 centos7貌似预装了svn服务(有待确认),因此我们直接启动该服务即可 一.svn服务端配置(服务器IP假设为192.168.100.1) 步骤1:创建 ...
- Linux服务器安全登录设置记录
在日常运维工作中,对加固服务器的安全设置是一个机器重要的环境.比较推荐的做法是:1)严格限制ssh登陆(参考:Linux系统下的ssh使用(依据个人经验总结)): 修改ssh默认监听端口 ...
- nginx服务器绑定域名和设置根目录的方法
nginx服务器绑定域名以及设置根目录非常方便,首先进入nginx安装目录,然后执行 vim conf/nginx.conf 打开nginx的配置文件,找到 server { ..... ..... ...
- Windows Server 2008 R2服务器系统安全设置参考指南
Server 2008 R2服务器系统安全设置参考指南 重点比较重要的几部 1.更改默认administrator用户名,复杂密码 2.开启防火墙 3.安装杀毒软件 1)新做系统一定要先打上补丁(升 ...
- 【转载】 IIS服务器防盗链设置
在实际运行的服务器环境中,我们自己网站中的资源一般不希望被外部网站引用,被外部网站引用IIS网站中的资源文件,一是会加重了服务器的负担,二是占用了你自己服务器的外网带宽资源,因此我们希望防止盗链这种情 ...
- 【Linux】时间同步设置+防火墙设置+SELinux设置
时间同步设置 在大数据集群环境中,要求每台集群的时间必须是同步的,这样我们就会要求每台集群的时间必须和一台服务的时间是同步的.接下来介绍一下步骤: 1,设置ntp客户端 yum -y install ...
- CentOS Linux上搭建PPPoE服务器及拨号设置
CentOS Linux上搭建PPPoE服务器及拨号设置 搭建PPPoE,成功了的话,就觉得超级简单,在CentOS Linux更是5步左右就能搞定. 1.安装pppoe,安装完成后,会有pppoe- ...
随机推荐
- 7、If分支语句
1.程序的流程结构 程序的流程控制结构一共有三种: 顺序结构 选择结构 循环结构. 顺序结构: 从上向下 逐行执行 选择结构:条件满足,某些代码才会执行.0-1次 分支语句: if,switch,se ...
- 一文读懂遗传算法(附python)
几天前,我着手解决一个实际问题--大型超市销售问题.在使用了几个简单模型做了一些特征工程之后,我在排行榜上名列第 219 名. 虽然结果不错,但是我还是想做得更好.于是,我开始研究可以提高分数的优化方 ...
- 华企盾DSC控制台操作卡顿如何解决
解决方法: 修改注册表: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows 的 USERProcessHa ...
- 学一点关于JVM类加载的知识
要研究类加载过程,我们先要知道关于 Java 处理代码的流程是怎么样的. 第一步:编写源代码 这一步是我们最熟悉的,就是我们在 idea 上写的业务代码,生成 Example.java 文件. pub ...
- spring自定义session分布式session
spring实现自定义session.springboot实现自定义session.自定义sessionid的key.value.实现分布式会话 一.原始方案 自定义生成sessionid的值 修改t ...
- jumpserver连接ecs实例报错:UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh_exchange_identification: Connection closed by remote host", "unreachable": true
报错分析思路: 1.是ssh密钥设置有没有对接 2.防火墙拦截问题 3.用户设置问题 4.sshd配置问题 问题解决: 无法与221.229.216.39端口35846进行协商:找不到匹配的主机密钥类 ...
- 一篇文章彻底搞懂TiDB集群各种容量计算方式
背景 TiDB 集群的监控面板里面有两个非常重要.且非常常用的指标,相信用了 TiDB 的都见过: Storage capacity:集群的总容量 Current storage size:集群当前已 ...
- linux中创建新用户并且放到用户组中
1.打开终端并以 root 用户身份登录到 Linux 系统 2.使用以下命令创建一个新用户 sudo useradd -m username 将 "username" 替换为你要 ...
- Rasa中的tracker_store和event_broker
Rasa 中的 tracker_store 相对主流为 Redis,event_broker 相对主流为 RabbitMQ.后续为了研究学习直接将 tracker_store 和 event_br ...
- 带你掌握如何使用CANN 算子ST测试工具msopst
摘要:本期带您了解如何使用msopst工具. 本文分享自华为云社区<[CANN文档速递13期]算子ST测试工具[msopst]>,作者: 昇腾CANN . 如何获取msopst工具 mso ...