自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

果冻小玩纸的博客

爱吃果冻的程序猿

  • 博客(33)
  • 收藏
  • 关注

原创 关于java freeswitch esl inbound client长时间使用内存泄漏处理

直入主题,在使用源生的esl inbound client 时长时间运行后可能会出现内存溢出的错误,导致程序崩溃,最开始以为是自己的esl client 频繁检测重连方法有问题,导致内存得不到释放,后面再深入跟进inbound.client方法中发现其实并不是我得锅,实际问题是esl client代码中没有好好用DirectByteBuffer造成的问题。想深入理解的朋友可以看一下,Direc...

2019-05-20 11:20:58 4082

原创 freeswitch 一键安装脚本

为了方便freeswitch安装,给大家分享一个本人的一键安装脚本,无插件,源生安装,配置好yum源即可,试用于centos#!/bin/bashyum install -y git alsa-lib-devel autoconf automake bisonyum install -y   broadvoice-devel bzip2 curl-devel db-devel e2fsp...

2018-12-24 11:12:09 1160

原创 freeswitch 之mysql性能优化篇

   大家在使用freeswitch时,为了方便freeswitch与GUI等进行结合,经常会使用mysql数据库对fs进行启动。但是freeswitch使用mysql启动后,会比使用自带数据库更加消耗资源,大家可以将源生的创表方法改成使用内存数据库进行优化,可以增加freeswitch的性能。   具体步骤如下:  1.进入freeswitch的源码包,cd src  2.修改源生的switch...

2018-03-06 22:50:07 3284 1

原创 java 大数据量输入下的快速io

StreamTokenizerstatic StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));static int nextInt() { return Integer.parseInt(in.nextToken());}StringT...

2020-04-22 11:43:11 292

原创 记1次OpenFeign请求偶发解析失败问题

记1次OpenFeign请求,遇到返回的结果无法解析的情况feign.codec.DecodeException: Error while extracting response for type [xxxxxxx] and content type [application/json;charset=UTF-8]; nested exception is org.springfr...

2020-03-09 18:31:57 1877 1

原创 apollo 与 nacos 功能对比

apollo与nacos 都为目前比较流行且维护活跃的2个配置中心,笔者对nacos(1.1.4版本)与 apollo(2020.1月更新源码部署)版本从几个方面进行了详细的对比。一:界面对比在界面上对2个对比,个人感觉2者都差不多,nacos可能看起来比较简洁,直接把所有项目和配置都直接展示出来了,但是apollo再项目划分概念上就比较清晰,进入后首先需要选择项目,选择项...

2020-02-09 21:50:00 26333 16

原创 异常java.security.InvalidKeyException:illegal Key Size的解决方案

使用 AES 加密时,密钥大于128bit的话会抛出java.security.InvalidKeyException异常。因为密钥长度是受限的,所以长度超过时就会抛出这个异常,只需要在官方网站下载JCE无限制权限策略文件(JDK7的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-4321...

2019-04-03 11:41:28 2909

原创 prometheus整体搭建详细步骤

一.安装go环境wget https://dl.google.com/go/go1.12.linux-amd64.tar.gz // 可以自行安装其他版本tar -C /usr/local/ -xvf go1.12.linux-amd64.tar.gzvim /etc/profile //配置环境变量source /etc/profile //刷新配置go ver...

2019-03-06 16:57:30 3319

原创 prometheus监控告警体系的搭建之nginx的监控接入

前提:nginx需要1.10以后的版本支持。一.首先安装nginx-module-vts模块,nginx_vts_exporter需要依赖nginx-module-vts模块。下载编译官方版的 nginx-module-vtsshell& git clone git://github.com/vozlt/nginx-module-vts.git二.关闭nginx,pkill -9 n...

2019-01-29 11:12:56 5421

原创 SIP笔记-----语音质量分析

     有关注语音的人,都可以经常在各种群,网站上看到线路商、呼叫中心供应商,各种广告,各种吹嘘,拼命推广线路多少多少稳定,并发能力多少多少高、语音质量多少优质,无延迟,无杂音。如果你搞语音,缺少这方面的知识,很容易被天花乱坠的广告所吸引,这里简单给大家介绍一下语音质量评测的标准以及方法。    目前比较常用的对语音的主观评定方法是使用MOS方法。根据P.830建议的要求,特定的发话者与听话...

2018-12-29 16:21:06 3161

原创 Spring配置返回date日期格式化(全局配置)

一、先写一个自定义时间类public class HttpMessageConverter extends GsonHttpMessageConverter {    private static final String DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";    private final static DateTimeFormatter FORM...

2018-12-05 14:56:11 4174

原创 mybaits mapUnderscoreToCamelCase自动驼峰

首先新增一个bean <bean id="mybatisConfig" class="org.apache.ibatis.session.Configuration"> <property name="mapUnderscoreToCamelCase" value="true" /> </bean> 配置中引入

2018-11-21 16:21:32 338

原创 (超完整)MAC下Mysql的下载与安装教程

1.MAC下Mysql的下载与安装。访问MySQL的官网https://www.mysql.com/downloads/下载安装之后: 2.======================================================以下图片是上图的细化操作 ===========================================...

2018-11-19 14:53:09 47571 2

原创 FS中使用lua脚本进行http请求

在FS中,许多灵活的脚本或者流程FS是不好实现的,会依赖于LUA脚本,这里说一下LUA脚本如果使用LUA脚本进行职位以及获得请求。   首先想要使用HTTP或者HTTPS请求需要安装一个luasocket组件,安装教程:     如果没安装有 LuaRocks,也可以源码安装。 先把 LuaRocks 下载下来,当前可用的版本是 luasocket-3.0-rc1(luasocket的源码...

2018-10-24 22:35:33 3220

原创 MRCP状态码

code 说明 200 成功 201 忽略某些可选标头字段的成功 成功(2xx) code 说明 401 方法不允许 402 方法在此状态下无效  403 不支持的标头字段  404 标题字段的值非法 405 资源未分配给此会话或未分配存在 406 强制标题字段缺失 407 方...

2018-10-19 16:54:17 2330

原创 Freeswitch修炼宝典(四)-----网关讲解

在freeswitch网关  gateway是freeswitch中一个重要组成部分,他关乎的通话的呼出,简单介绍一下,FreeSWITCH里Gateway(网关)的概念。网关又成协议转换器,通常都是进行协议转换。这里说的网关指的是语音网关,如常用的SIP网关,负责SIP协议和七号信令或ISDN PRI(模拟信号)之间的转换。但FreeSWITCH中的网关有时候不一定是真的网关,也可以是另外一个S...

2018-09-20 10:29:45 3047

原创 Freeswitch修炼宝典(三)-----拨号方法详解

在freeswitch中比较重要的一个部分就是diaplan了,diaplan拨号计划简单的来说就是一种号码规则,他可以根据自己定义的规则,设置对应did(目标号码)或者设置匹配的规则,每一步如何实现,都在这里设置实现的。拨号计划一般都放在安装目录的:conf/dialplan下。首先我们拿一个比较有代表性的拨号计划进行拆分:    <extension name="jdconfere...

2018-09-18 15:53:10 4750

原创 Freeswitch修炼宝典(二)-----freeswitch的ESL开发

 一般来说,其他客户端都是通过ESL与fs进行连接的,如: Java是通过JAVA-ESL-CLIENT  朝FS进行连接的,连接方式分为内联:inbond 以及外联outbond 2种方式。Inbound内联:简单说就是客户端主动通过socket的连接方式向FS进行连接,开启了一个“通道”,通过这个通道客户端不仅可以订阅监听一些时间,也可以通过这个通道进行命令的发送。fs_cli 其实就是一...

2018-09-18 14:57:43 14152 2

原创 Freeswitch修炼宝典(一)-----freeswitch的方法入门解读

   基本概念就不说了,这里直接说一下freeswitch中的方法,也许你们常听说freeswitch中APP,API没有理解这2个的具体含义,我用比较简单的方法说明一下,APP就类似内部封装的function,freeswitch可以自己使用操作。比如:bridge,echo,park等等。API就相同于我们通俗说的接口,有点像带有token认证机制的restful接口,使用fs_cli控制...

2018-09-12 12:01:12 7465 1

原创 解决mysql5.7Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column '

mysql5.7报错:Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'userinfo.t_long.user_name' which is not functionally dependent on columns in GROUP BY clause; this ...

2018-06-20 22:35:49 367

原创 redis集群部署文档

1. 安装redis客户端1.1下载并解压cd /homewget http://download.redis.io/releases/redis-3.2.4.tar.gztar -zxvf redis-3.2.4.tar.gz1.2 编译安装cd redis-3.2.4make && make install1.3 建立redis软连接cd srccp redis-trib.rb...

2018-05-19 18:11:20 208

转载 FreeSwitch Event Socket Command

API语法:api <command> <arg>作用:发送一个API命令(阻塞模式)示例:api来自sofia/mydomain.com/[email protected] 1000#连接sip:[email protected]到分机1000api睡眠5000 bgapi语法:bgapi <command> <arg> 作用:向后台提交一个API命令(非...

2018-05-16 09:36:31 3021

原创 循环限制切割日志,避免大日志烦恼

1.利用syslog-ng的服务,在Linux的中可以轻松的完成对日志的管理工作, 本文以tomcat为例循环限制tomcat日志1.利用Syslog-ng服务,在linux中可以轻松的完成对日志的管理工作新加入日志管理工具,建立tomcat脚本  vim /etc/logrotate.d/tomcat-file  加入tomcat日志循环切割限制: /home/smp/tomcat9/logs/...

2018-05-09 16:28:15 1316

原创 linux实用小命令

查看目录详细各个文件大小  du -ah --max-depth=1跳转到某行     :行号显示行数        :set nu改文件名   rename抓包命令    tcpdump-s 0 -i any -w /home/`hostname`-`date +%Y%m%d%H%M%S`.cap解压命令01-.tar格式解包:[*******]$ tar xvf FileName.tar打包:...

2018-04-16 12:03:00 115

原创 freeswitch由于ext-sip-ip地址填写错误导致32秒拆线问题

    今天在freeswitch投产使用过程中,发现大量通话时长为32秒的通话,并且这下32秒通话全部来自与其中一台freeswitch中,这台freeswitch中的通话记录没有超过32秒的话单,所以对这台freeswitch进行抓包分析处理,发现其中contant代的地址不对,代成了媒体地址,所以导致在发送200ok接通后,对方ack回不来,32秒后自动拆线。   对此分析了一下该逻辑的源码...

2018-04-02 15:23:47 4165

原创 opensips添加独立的日志

 独立opensips日志配置: 在opensips.cfg里有几个参数控制日志的输出: debug=3 #此值控制日志输出的详细程度,3为普通,4为详细(会产生很多日志)。log_stderror=no #设置为no表示将日志输出到文件,否则输出到控制台(应该是以前台方式启动opensips服务时才有用)。log_facility=LOG_LOCAL0 #应该是用于在syslog服务的配置文件里...

2018-03-21 11:04:38 2196

原创 opensips超全部署部署教程及必要配置详解

opensips作为一款强大的多功能sip服务器,本人感觉应该十分火爆,但是在搜索中发现中文教程实在少的可怜,官网部署及配置教程及其简陋,本人安装中遇到了大量的坑,这里整理了详细了部署教程及一些必要配置说明,和大家分享下,希望大家少走弯路:1.首先安装核心依赖环境yum -y install gcc make flex bison ncurses libncurses-dev ncurses-de...

2018-03-21 09:57:06 19763

原创 freeswitch之G729转码操作配置详解

     在目前freeswitch各种业务都开始需要支持高并发的背景下,线路带宽的占用成为很多客户的考虑范围,目前比较流行语音编码有2种G711、G729。由于语音需要采用上下行对等的宽带,G711每线需要大约90kbit/s/S的带宽,而G729每线仅需要30kbit/s/S的带宽。所以目前对接客户侧,都希望对接采用G729编码。   freeswitch默认是不支持进行G729转码的,商业版...

2018-03-15 18:28:05 6708

原创 RabbitMQ集群安装配置教程

1.安装Erlang环境下载erlang安装包,如otp_src_20.1.tar.gz解包:tar -zvxf otp_src_20.1.tar.gz进入目录:cd otp_src_20.1检查编译环境:./configure --prefix=/home/erlang (如有报错,则需要安装依赖环境:yum -y install make gcc gcc-c++ kernel-devel m4...

2018-03-09 11:53:24 602 1

转载 freeswitch的初步了解

1.fs的总体结构freeswitch由一个稳定的核心Core以及一些外围模块组成。内部使用线程模型来处理并发请求,每个连接都在单独的线程中处理,不同的线程间通过Mutex互斥访问共享资源,并通过消息和异步事件等方式进行通信,这种架构能处理很高的并发,能均匀分布到多颗CPU或单CPU的多个核心。绝大部分应用都是在外围模块中实现的。1) 核心 core包含了关键的数据结构和复杂...

2018-03-06 00:12:21 2211

原创 按天切割nginx访问日志

1.新建切割日志脚本vi  /usr/local/nginx/cut-nginxlog.sh#!/bin/bash#日志文件存放目录logs_path="/usr/local/nginx/logs/"# pid文件pid_path="/usr/local/nginx/nginx.pid"#重命名日志文件mv ${logs_path}nginx.log ${logs_path}ngin...

2018-03-05 23:46:58 208

原创 Nginx快速部署教程

1.首先通过yum源下载yum -y install gcc  gcc-c++  wget2.随后下载nginx所需要的3个服务包下载openssl压缩包:wget https://www.openssl.org/source/openssl-1.0.1t.tar.gz解压压缩包:tar zxvf openssl-1.0.1t.tar.gz安装:cd openssl-1.0.1t &&am...

2018-03-05 23:38:38 197

原创 freeswitch 与 rabbitmq的结合与运用

   rabbitmq作为目前流行的消息队列,可以持久化,处理性能高,功能齐全,采用amqp协议。   freeswitch中拥有mod_amqp模块,也采用amqp,所以可以使用freeswitch将 事件、命令、日志推送给rabbitmq,再使用其他语言与rabbitmq相结合(如Java),实现自己所想要的功能(报表系统,日志系统、状态系统、统计系统等等)   这里首先介绍一个mod_amq...

2018-03-05 20:09:54 3365 6

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除