概述

在生产环境中,一般会有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服务器的时间同步设置的更多相关文章

  1. 部署NTP服务器进行时间同步

    NTP服务端:linl_S    IP:10.0.0.15 NTP客户端:lin_C    IP:10.0.0.16 NTP服务概述 1.原理 NTP(Network TimeProtocol,网络时 ...

  2. Linux配置NTP服务器,时间同步

    当服务器多了,时间准确与否,一致与否是个大问题.虽然这个问题总是被忽略,但是统一一致的时间是很有必要的.下面说一下在局域网内配置Linux时间服务器的方法. 配置的环境及要求: 假设在192.168. ...

  3. CentOS 7.2部署NTP服务器实现时间同步

    CentOS 7.2部署NTP服务器实现时间同步 [日期:2017-12-18] 来源:Linux社区  作者:梁明远 [字体:大 中 小]   1. 前言 对于容器编排系统,前段时间主要研究kube ...

  4. centos7搭建svn服务器及客户端设置

    centos7搭建svn服务器及客户端设置 centos7貌似预装了svn服务(有待确认),因此我们直接启动该服务即可 一.svn服务端配置(服务器IP假设为192.168.100.1) 步骤1:创建 ...

  5. Linux服务器安全登录设置记录

    在日常运维工作中,对加固服务器的安全设置是一个机器重要的环境.比较推荐的做法是:1)严格限制ssh登陆(参考:Linux系统下的ssh使用(依据个人经验总结)):     修改ssh默认监听端口    ...

  6. nginx服务器绑定域名和设置根目录的方法

    nginx服务器绑定域名以及设置根目录非常方便,首先进入nginx安装目录,然后执行 vim conf/nginx.conf 打开nginx的配置文件,找到 server { ..... ..... ...

  7. Windows Server 2008 R2服务器系统安全设置参考指南

    Server 2008 R2服务器系统安全设置参考指南  重点比较重要的几部 1.更改默认administrator用户名,复杂密码 2.开启防火墙 3.安装杀毒软件 1)新做系统一定要先打上补丁(升 ...

  8. 【转载】 IIS服务器防盗链设置

    在实际运行的服务器环境中,我们自己网站中的资源一般不希望被外部网站引用,被外部网站引用IIS网站中的资源文件,一是会加重了服务器的负担,二是占用了你自己服务器的外网带宽资源,因此我们希望防止盗链这种情 ...

  9. 【Linux】时间同步设置+防火墙设置+SELinux设置

    时间同步设置 在大数据集群环境中,要求每台集群的时间必须是同步的,这样我们就会要求每台集群的时间必须和一台服务的时间是同步的.接下来介绍一下步骤: 1,设置ntp客户端 yum -y install ...

  10. CentOS Linux上搭建PPPoE服务器及拨号设置

    CentOS Linux上搭建PPPoE服务器及拨号设置 搭建PPPoE,成功了的话,就觉得超级简单,在CentOS Linux更是5步左右就能搞定. 1.安装pppoe,安装完成后,会有pppoe- ...

随机推荐

  1. Java中获取Class对象的三种方式

    在Java中,我们经常需要获取某个类的Class对象,以便进行反射操作.动态加载类或者获取类的信息.本文将介绍Java中获取Class对象的三种常见方式. 1. 使用.class语法 获取Class对 ...

  2. 小市值选股策略代码分享(附python源码)

    小市值选股策略的核心在于通过综合分析公司的基本面.行业定位.财务健康状况以及市场趋势, 来寻找那些被市场低估但具备显著成长潜力的股票,同时也要重视风险管理和投资组合的多样化. 今天来给大家分享下小市值 ...

  3. Oracle数据字典(各种视图、表)

    数据字典是存放整个数据库实例重要信息的一组表,这些数据字典大部分都是SYS用户所有. 数据字典的构成 Oracle数据字典名称由前缀和后缀组成,使用下画线"_"连接.其代表的含义如 ...

  4. 聊聊流式数据湖Paimon(二)

    当前的问题 Apache Paimon 最典型的场景是解决了 CDC (Change Data Capture) 数据的入湖:CDC 数据来自数据库.一般来说,分析需求是不会直接查询数据库的. 容易对 ...

  5. 可视化大屏与GIS之间如何实现互补?

    在当今数字化时代,可视化大屏和地理信息系统(GIS)是两个在不同领域发挥重要作用的技术.可视化大屏以其生动.直观的图表.图像和动画展示方式,为数据可视化和信息展示提供了强大的工具.而GIS则通过地理空 ...

  6. java桌面小闹钟

    写了个桌面的小闹钟,在运行环境可以编译,但是打包成jar文件,想用批处理命令直接调用报错"找不到或无法加载主类". 需求 为防止整天久坐,编写一个桌面闹钟.该闹钟功能很简单,一个小 ...

  7. dfs之迭代加深

    为什么要用迭代加深 \(dfs\) 每次会选择搜索树的一个分支,不断深入,直到达到递归边界条件:但这种搜索策略带有一定的缺陷性: 如果搜索树的某一个分支中的节点个数特别多,但是答案并不在这棵子树里面, ...

  8. [西湖论剑2023-Misc] 复现

    MISC mp3 题目 我的解答: 010发现mp3藏有png图片 卡里分离得到图片 foremost cipher.mp3 zsteg发现里面有压缩包 提取出来 zsteg -e b1,r,lsb, ...

  9. 温故而知新——MYSQL基本操作

    相关连接: mysql和sqlserver的区别:https://www.cnblogs.com/vic-tory/p/12760197.html sqlserver基本操作:https://www. ...

  10. Redis核心技术与实战

    最近在读一篇关于Redis的专栏,叫做<Redis核心技术与实战>,作者在Redis方面研究颇深,读后非常受益,特在此做记录. 一.Redis基础 1)知识图和问题画像图 Redis知识全 ...