摘要: 前言之前在【FreeSwitch开发实践】在nodejs中用ESL连接FreeSwitch一文介绍了在NodeJS下使用ESL连接FreeSwitch, 本文则对在C语言下使用ESL连接FreeSwitch作了一个系统介绍。和NodeJS下使用ESL需要安装modesl模块一样,C语言下使用ESL也 阅读全文
posted @ 2023-01-04 18:04 阿风小子 阅读(1385) 评论(0) 推荐(0)
摘要: FreeSWITCH启动、查看、及关闭 FreeSWITCH一般安装在路径 /usr/local/freeswitch ,可执行程序位于/usr/local/freeswitch/bin 下,配置文件位于/usr/local/freeswitch/conf(当然这写不是绝对的,具体还要看你自己安装时 阅读全文
posted @ 2023-01-04 17:57 阿风小子 阅读(968) 评论(0) 推荐(0)
摘要: 为了获得FreeSWITCH的最大利益,您需要能够正确选择GUI解决方案。看看FreeSWITCH的一些开源GUI解决方案,见证了它们的广泛普及和采用率。 FreeSWITCH GUI被广泛地描述为FsGui,重新定义了通信方式,并鼓励组织使其通信系统更强大,更快捷。作为高度可扩展且灵活的平台,它利 阅读全文
posted @ 2023-01-04 17:50 阿风小子 阅读(1856) 评论(0) 推荐(0)
摘要: 目录: FreeSWITCH的功能 连接SIP电话 连接SIP电话 —— 实操 1、FreeSWITCH的功能 安装完成FreeSWITCH后,以管理员身份运行。 通过在控制台中输入:shutdown,命令可以关闭FreeSWITCH。 2、连接SIP电话 3、 连接SIP电话 —— 实操 其中,本 阅读全文
posted @ 2023-01-04 17:35 阿风小子 阅读(332) 评论(0) 推荐(0)
摘要: 目录: POTS PBX Private Branch Exchange,用户级交换机,即公司内部使用的电话业务网络,系统内部分机用户分享一定数量的外线。 PBX俗称:程控交换机,程控用户交换机,电话交换机,集团电话等。PBX是现代办公常用的电话通讯管理手段的一种,使电话管理者可集团性管理外线来电与 阅读全文
posted @ 2023-01-04 17:34 阿风小子 阅读(300) 评论(0) 推荐(0)
摘要: 目录: FreeSWITCH FreeSWITCH 是一个电话的软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动。FreeSWITCH 可以用作交换机引擎、PBX、多媒体网关以及多媒体服务器等。 FreeSWITCH 支持多种通讯技术标准,包括 SIP, H.323, IAX2 阅读全文
posted @ 2023-01-04 17:33 阿风小子 阅读(293) 评论(0) 推荐(0)
摘要: 目录: 1、配置FreeSWITCH 2、FreeSWITCH用作软电话 1、配置FreeSWITCH 具体参考:《FreeSWITCH权威指南》3.3节 以下,将通过添加一个新的FreeSWITCH用户来简单熟悉一下FreeSWITCH的配置文件: originate命令用于从FreeSWITCH 阅读全文
posted @ 2023-01-04 17:32 阿风小子 阅读(377) 评论(0) 推荐(0)
摘要: 目录 配置SIP网关拨打外部电话: 从某一分机上呼出 呼入电话处理 配置SIP网关拨打外部电话 originate sofia/gateway/zlz/1003 &echo (前提是设置了1003,并且选定了才行) 按照如上操作,能够拨通。 1、从某一分机上呼出 注意: 2、呼入电话处理 阅读全文
posted @ 2023-01-04 17:31 阿风小子 阅读(91) 评论(0) 推荐(0)
摘要: 运行FreeSWITCH 目录: 判断FreeSWITCH是否运行 控制台与命令客户端 呼叫 API与App 命令行参数,具体参考《FreeSWITCH权威指南》-4.1节 输入以上指令,显示:未知命令!!!! 1、判断FreeSWITCH是否运行 2、控制台与命令客户端 这里,输入指令:bin/f 阅读全文
posted @ 2023-01-04 17:30 阿风小子 阅读(192) 评论(0) 推荐(0)
摘要: 目录: 一、总体架构 1、核心 1.1、数据库(DB) 1.2、公共应用程序接口(Public API) 1.3、接口(Interface) (核心 —— Public API供外围模块调用 、 抽象的接口) 1.4、事件(Event) 消息机制完全是内部的,而事件机制既可以在内部使用,也可以在外部 阅读全文
posted @ 2023-01-04 17:29 阿风小子 阅读(468) 评论(0) 推荐(0)
摘要: 1、FreeSWITCH控制台快捷键(4.4) 2、FreeSWITCH目录结构(5.2) sounds目录 、 storage目录 、 conf目录 。 3、配置文件(5.3 & 3.3) 4、vars.xml —— FreeSWITCH 中默认的全局变量(5.3.2) 注:这里除了 global 阅读全文
posted @ 2023-01-04 17:28 阿风小子 阅读(1571) 评论(0) 推荐(0)
摘要: 目录: 6.1.6 动作与反动作 6.1 XMl Dialplan 6.1.1 配置文件的结构 6.1.2 默认的配置文件简介 6.1.3 正则表达式 6.1.4 通道变量 呼叫结果分析见《权威》。 呼叫结果分析见《权威》。 Log级别: 部分Info中显示的变量与通道变量的对应关系: 6.1.5 阅读全文
posted @ 2023-01-04 17:26 阿风小子 阅读(158) 评论(0) 推荐(0)
摘要: 目录: 6.1.7 工作机制深入剖析 举例见6.1.7。 6.1.8 内联执行 6.1.9 实例解析 实例见6.1.9。 6.2 inline Dialplan (内联拨号计划) 6.3 其他的Dialplan 6.4 常用的Dialplan App 更多见6.4。 6.5 在Dialplan 中使 阅读全文
posted @ 2023-01-04 17:26 阿风小子 阅读(249) 评论(0) 推荐(0)
摘要: 目录: 7.1、SIP协议基础 7.1.1、HTTP与SIP协议基础 7.1.2、SIP的基础概念和相关元素 7.1.3、SIP协议的基本方法和头域简介 7.2、SIP注册 7.3、SIP呼叫流程 7.1.3、UA间直接呼叫 阅读全文
posted @ 2023-01-04 17:25 阿风小子 阅读(66) 评论(0) 推荐(0)
摘要: 目录: 7.3.2、通过B2BUA呼叫 具体流程描述见7.3.2。 7.4、深入理解SIP 7.4.1、SIP URI 7.4.2、SDP和SOA SDP ——(Session Description Protocol,会话描述协议) 具体见7.4.2。 SOA ——(Service Offer a 阅读全文
posted @ 2023-01-04 17:24 阿风小子 阅读(87) 评论(0) 推荐(0)
摘要: 目录: 8.1 媒体与媒体处理 8.1.1、音频编码 音频编码 —— AD转换、DA转换、Codec、PCM编码 FreeSWITCH中与编码相关的主要命令: 8.1.2、媒体工作机理和相关配置 (1)工作机理 : (2)相关配置: 8.2、媒体协商 8.2.1、协商过程 8.2.2、SDP及其在编 阅读全文
posted @ 2023-01-04 17:23 阿风小子 阅读(144) 评论(0) 推荐(0)
摘要: 目录: 9.1、基本概念 9.2、Sofia配置文件 9.2.1、Profile配置文件 9.2.2、Profile的几个重要参数 具体见9.2.2。 9.2.3、external.xml 9.2.4、Gateway 9.3、常用命令 具体见《FreeSWITCH —— 常用指令》 9.4、NAT穿 阅读全文
posted @ 2023-01-04 17:22 阿风小子 阅读(67) 评论(0) 推荐(0)
摘要: originate 相关指令: 具体参考《权威》10.4章节。 1、模拟拨打外部电话 —— originate sofia/profile/123456@ip &echo(暂没实操) (profile要改为具体的,如:internal; ip 要加上具体的端口号,可通过sofia status pr 阅读全文
posted @ 2023-01-04 17:22 阿风小子 阅读(736) 评论(0) 推荐(0)
摘要: sofia相关指令: 1、status —— 显示当前状态 2、sofia status —— 显示sofia 的运行状态(查看freeswitch监听的IP和本电脑ip)/查看配置网关状态 sofia/sofia help —— 显示sofia命令的帮助信息 3、sofia status prof 阅读全文
posted @ 2023-01-04 17:21 阿风小子 阅读(2369) 评论(0) 推荐(0)
摘要: 目录: 10.1、调试与排错 10.2、使用外部工具抓包 10.3、使用Wireshark抓包并分析呼叫 具体参考10.3 10.4、originate命令实例解析 10.4.1、使用格式和参数 10.4.2.、转入Dialplan 10.4.3、更改主叫号码 …… 参考具体章节 …… 10.4.1 阅读全文
posted @ 2023-01-04 17:19 阿风小子 阅读(101) 评论(0) 推荐(0)
摘要: 目录: 18.1、架构 18.1.1、外连模式 18.1.2、内连模式 18.2、Event Socket 协议 18.2.1、外连 外连操作,实操没有成功???(退出终端B,回到终端A的时候,无法进行输入!!!) 18.2.2、内连 内连成功了(内连也是用的比较多的) 18.2.3、Event S 阅读全文
posted @ 2023-01-04 17:19 阿风小子 阅读(151) 评论(0) 推荐(0)
摘要: 一 、首先使用工具netcat与FreeSWITCH进行内连 (参考18.2.2) 输入如下命令接收事件: event plain ALL —— 订阅所有的事件 当然,如果你看不过来,可以少订一些,比如: event plain CHANNEL_CREATE —— 仅订阅 CHANNEL_CREAT 阅读全文
posted @ 2023-01-04 17:17 阿风小子 阅读(226) 评论(0) 推荐(0)
摘要: 12.3、数据库 略 12.4、视频通话 12.4.1、配置视频通话 12.4.2、视频录像与回放 12.4.3、视频转码 12.5、多人电话会议 12.5.1、音频会议 有关conference的命令,具体参考:12.5.1 —— 3.使用API命令控制会议 12.5.2、视频会议 略。 12.6 阅读全文
posted @ 2023-01-04 17:15 阿风小子 阅读(234) 评论(0) 推荐(0)
摘要: 12.1、使用mod_fifo实现简单呼叫队列 12.1.1、呼叫停泊与取回 12.1.2、配置坐席 1、静态坐席的配置 2、动态坐席的配置 3、offhook坐席 12.1.3、fifo 1、相关的通信变量 注意: 2、相关事件 3、其他 12.2、使用mod_callcenter实现呼叫中心应用 阅读全文
posted @ 2023-01-04 17:14 阿风小子 阅读(393) 评论(0) 推荐(0)
摘要: 11.5.3、立体声 11.5.4、录音相关的通道变量 具体参考11.5.4 11.5.5、原生格式 11.6、放音 11.6.1、playback的参数 2、local_stream 另外还有:(具体参考11.6.1) 3、silence_stream 4、tone_stream 5、file_s 阅读全文
posted @ 2023-01-04 17:12 阿风小子 阅读(249) 评论(0) 推荐(0)
摘要: 11.1、批量创建用户 11.2、用FreeSWITCH实现IVR 11.2.1、最简单的菜单 11.2.2、默认IVR简介 11.3、按时间进行路由 11.4、配置中文语音 11.4.1、最简单的实现方案 11.4.2、使用sound_prefix 11.4.3、使用Phrase 11.4.4、使 阅读全文
posted @ 2023-01-04 17:11 阿风小子 阅读(190) 评论(0) 推荐(0)
摘要: (1)使用freeswitch -help 或freeswitch --help 会显示一些命令及其相关说明。 (注:以上显示Unknown Command,直接输入help就可以了) 常用命令如下: 1、version —— 显示当前版本 2、status —— 显示当前状态 3、sofia st 阅读全文
posted @ 2023-01-04 17:09 阿风小子 阅读(2454) 评论(0) 推荐(0)
摘要: 首次拉取带子仓库的代码方法: 仓库一起拉取: git clone --recurse-submodules 父仓库地址 分开拉取: git clone 父仓库地址 git submodule init // 初始化子模块 git submodule update // 更新子模块与主仓库中的子模块代 阅读全文
posted @ 2023-01-04 16:55 阿风小子 阅读(277) 评论(0) 推荐(0)
摘要: 最近遇到一个客户需求,希望在会议室建立起来后,自动播放一段指定的声音。 已知会议室命令,假设建立起一个会议室号码3000,很容易实现以下功能: 一、播放一个声音文件一次 conference 3000 play /home/test.wav 二、播放一个声音文件二次 conference 3000 阅读全文
posted @ 2023-01-04 16:35 阿风小子 阅读(501) 评论(0) 推荐(1)
摘要: 关于Spring的注解其实不难,大致需要以下几个流程: 一、配置Spring的注解支持 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xm 阅读全文
posted @ 2023-01-04 16:34 阿风小子 阅读(38) 评论(0) 推荐(0)
摘要: 个人的开发操作系统是CentOS 6.5,git管理工具是默认安装的。 如果发现没有安装,可以用yum -install git安装最新的版本,顺便,推荐安装配套的图形化git工具, 【gitk】界面是简单了点,但是在查看历史信息的时候还是很方便的。 一、做使用者的相关信息配置。 1.git con 阅读全文
posted @ 2023-01-04 16:33 阿风小子 阅读(33) 评论(0) 推荐(0)
摘要: 理想的开发状态是我开始就是C开发,一直是C的开发,现在还是C的开发,若干年后,幸运的话,我可以成为C语言的高手或者专家…… 更实际的情况是我开始是C开发,后来变成了JAVA开发,然后又做起了VC++的开发,几年下来,发现自己几乎一无所长,成为了编程界的万金油,这种产物很重要,但是也比较尴尬。 前一段 阅读全文
posted @ 2023-01-04 16:32 阿风小子 阅读(661) 评论(0) 推荐(0)
摘要: 近期搭建了一个JAVA WEB项目,引入了国际化的ResourceBundle。 顺便赞一个,Eclipse Mars,自带了中文转unicode编码的功能。 ① 根据语言选择,初始化ResourceBundle。 1 Locale locale = Locale.CHINA; 2 Resource 阅读全文
posted @ 2023-01-04 16:30 阿风小子 阅读(78) 评论(0) 推荐(0)
摘要: 最近决定在新WEB项目中使用新的日志系统Log4j2。 官方介绍和学习文档网址为http://logging.apache.org/log4j/2.x/ 首先在WEB项目中引入以下几个jar包: ① log4j-api-2.4.1.jar ② log4j-core-2.4.1.jar ③ log4j 阅读全文
posted @ 2023-01-04 16:29 阿风小子 阅读(302) 评论(0) 推荐(0)
摘要: 原文链接(也是转载)http://blog.csdn.net/yetyongjin/article/details/6881491。我修改了部分错字。 SIP从私网到公网会遇到什么样的问题呢? 1. 包的地址转换。2. SIP消息里面的SIP地址转换。3. SIP消息里面的SDP中的RTP地址转换。 阅读全文
posted @ 2023-01-04 16:26 阿风小子 阅读(234) 评论(0) 推荐(0)
摘要: 听着很高大上(实际也很实用)的加密机制,在FreeSWITCH里配置支持竟然这么简单! Greate FreeSWITCH and Greate Programmer! ① cd /usr/local/freeswitch/bin(以默认的安装路径为例) ② 产生root的证书 ./gentls_c 阅读全文
posted @ 2023-01-04 16:25 阿风小子 阅读(479) 评论(0) 推荐(0)
摘要: 一直以“简单”著称的SIP其实也没那么简单,不过任何事物想掌握它都很困难。 这篇文档旨在不断的记录SIP使用过程中遇到的各种疑惑和问题。 一、响应422 Session Interval Too Small 发送的Invite消息如下: INVITE sip:806@192.168.8.11 SIP 阅读全文
posted @ 2023-01-04 16:24 阿风小子 阅读(118) 评论(0) 推荐(0)
摘要: 感谢开源和非开源的各种软电话,让我们能够在测试的时候以极低的成本和极其愉快的心情前进,尤其Jitsi。 ① 关于高清摄像头。 所谓支持1080P的高清摄像头只是意味着摄像头硬件的编解码能力符合这个标准。 如果想实现1080P的视频通话,接下来就要看软电话的编码能力是否支持1920*1080P了。 即 阅读全文
posted @ 2023-01-04 16:22 阿风小子 阅读(159) 评论(0) 推荐(0)
摘要: 感谢“大神”的无私奉献:http://blog.csdn.net/leixiaohua1020/article/details/15811977 a) 通用选项-L license-h 帮助-fromats 显示可用的格式,编解码的,协议的...-f fmt 强迫采用格式fmt-I filename 阅读全文
posted @ 2023-01-04 16:20 阿风小子 阅读(158) 评论(0) 推荐(0)
摘要: 使用https:// 提交GitHub上的私有项目时,需要每次都输入帐号和密码,比较麻烦。 比如我自己的笔记本,在push的时候我可不想每次都输入这些。 那就使用SSH吧,这个需要在GitHub的帐号上添加这台笔记本的SSH key。 ① ssh-keygen -t rsa -C "name@dom 阅读全文
posted @ 2023-01-04 16:19 阿风小子 阅读(664) 评论(0) 推荐(0)
摘要: 好多年前就在项目中用ajax实现了页面部分数据的发送,当时用的是GET方法。 这次用POST方法实现同样的功能,竟然花费了不少的时间! ① 关于JQuery ajax的配置项说明 1 url : 请求的url。 2 type : http请求消息的方法,例如get,post等。 3 contentT 阅读全文
posted @ 2023-01-04 16:18 阿风小子 阅读(317) 评论(0) 推荐(0)
摘要: 1. 从系统中导出已有数据库及数据。 mysqldump -u root -p 已存的数据库名称 > 导出数据库名称.sql 2. 从系统中导出已有数据库及不含数据。 mysqldump -u root -p -d 已存的数据库名称 > 导出数据库名称.sql 3. 从系统中导出已有数据库的某张数据 阅读全文
posted @ 2023-01-04 16:16 阿风小子 阅读(32) 评论(0) 推荐(0)
摘要: 简单的测试了一下,暂时没把精力放到这一块。 ① 视频编码透传的设置(使用代理模式)。 修改internal.xml文件的以下参数: <param name="inbound-proxy-media" value="true"/> 默认屏蔽该参数,开启。 也许,使用bypass也可以,下次再验证。 ② 阅读全文
posted @ 2023-01-04 16:16 阿风小子 阅读(501) 评论(0) 推荐(0)
摘要: MySQL竟然变化这么大了,记忆里还是40MB左右的软件。 想找回记忆里大小的软件(老版本的软件),可以去这个地址看看:http://mirrors.soho.com 现在去官网下载都300多MB了……oracle在干啥呢…… 安装完以后一启动,内存直接告警。 打开任务管理器一看,mysqld.ex 阅读全文
posted @ 2023-01-04 16:15 阿风小子 阅读(1917) 评论(0) 推荐(0)
摘要: ① Incorrect string value: '\xE6\x94\xBE\xE5\xA4\xA7...' for column 'name' at row 1 Query…… 原因:编码不匹配。数据库是latin1编码,而插入的中文字符串是utf-8编码。 解决思路: 一、修改数据库的编码。 阅读全文
posted @ 2023-01-04 16:13 阿风小子 阅读(32) 评论(0) 推荐(0)
摘要: 新建一个类,导入如下的测试代码: 1 public class TestNativeOutOfMemoryError { 2 public static void main(String[] args) { 3 4 for (int i = 0;; i++) { 5 System.out.print 阅读全文
posted @ 2023-01-04 16:11 阿风小子 阅读(64) 评论(0) 推荐(0)
摘要: 1. 在github上新建一个空项目。 2. git clone 到本地仓库。 3. git add [一些文件]。 4. git commit -m "first commit"。 5. git remote add origin https://github.com/your name/your 阅读全文
posted @ 2023-01-04 16:09 阿风小子 阅读(479) 评论(0) 推荐(0)
摘要: FreeSWITCH中默认的SIP呼叫是要鉴权的,流程如下。 1 终端 FreeSWITCH 2 3 A Invite > FS 4 5 A < Trying FS 6 7 A < 407 FS 8 9 (携带鉴权请求如下:Proxy-Authenticate: Digest realm="192. 阅读全文
posted @ 2023-01-04 16:06 阿风小子 阅读(97) 评论(0) 推荐(0)
摘要: 场景:前端用JS构造了一个GET请求,携带了一个中文的参数,通过Spring MVC传到后台以后解析中文是乱码。 1. 发送请求,从浏览器中捕获到http的请求内容如下: 1 Remote Address:[::1]:8080 2 Request URL:http://localhost:8080/ 阅读全文
posted @ 2023-01-04 16:04 阿风小子 阅读(1362) 评论(0) 推荐(0)
摘要: 折腾了快一天了,终于搭建成功了。 分享一下搭建的步骤: 一、GIT仓库的创建 1. adduser git 2. passwd git 此例设置git的密码为123456 3. cd /home/git 4. git init --bare test.git 此例使用/home/git做为git仓库 阅读全文
posted @ 2023-01-04 16:03 阿风小子 阅读(1229) 评论(0) 推荐(0)
摘要: 本文假设jdk环境安装成功,如何安装JDK请参考这个链接: http://www.cnblogs.com/yoyotl/p/5395208.html 1. 下载apache的安装包,例如本例下载了apache-tomcat-7.0.68.tar.gz版本。 2. 解压并安装到指定的位置,例如本例安装 阅读全文
posted @ 2023-01-04 16:02 阿风小子 阅读(1763) 评论(0) 推荐(0)
摘要: 项目中需要实现一些图片文件到TIFF文件的转换,去网上下载了一些第三方软件。 好的软件需要收费,免费的存在各种问题。 自己动手,丰衣足食! 众里寻他千百度,蓦然回首,那人就是ImageMagick。 官网链接:http://www.imagemagick.org/script/index.php I 阅读全文
posted @ 2023-01-04 16:01 阿风小子 阅读(342) 评论(0) 推荐(0)
摘要: 详细的学习请参考:https://wiki.freeswitch.org/wiki/Mod_spandsp 我只说说WIKI上没有直接写出来却又很实用的东西。 一、传真收发 环境大致如下: FreeSWITCH< >讯时网关(mx8)< >电话外线(模拟线)< >公网交换网络< >电话外线(模拟线) 阅读全文
posted @ 2023-01-04 16:00 阿风小子 阅读(297) 评论(1) 推荐(0)
摘要: 一、图形化工具:jconsole JDK自带,在windows平台下,执行cmd进入控制台,然后执行jconsole即可。 这个工具能够直观的观察内存的增长和回收情况,CPU的使用情况等等。 jconsole远程链接的一个实例,例如我想观察远端服务器上tomcat的运行情况。 1 vim catal 阅读全文
posted @ 2023-01-04 15:59 阿风小子 阅读(51) 评论(0) 推荐(0)
摘要: 先来看一下执行以后的结果: 各项数值的含义如下: 第一行是任务队列信息。 1 17:15:40 当前时间 2 up 21 days,1:19 系统运行时间,格式为天,时:分 3 8 user 当前登录用户数 4 load average: 0.00, 0.00, 0.00 系统负载,即任务队列的平均 阅读全文
posted @ 2023-01-04 15:58 阿风小子 阅读(79) 评论(0) 推荐(0)
摘要: FreeSWITCH使用了大量的第三方库,本文档主要介绍关联相关库的信息: 音频相关库的信息介绍参考:http://www.cnblogs.com/yoyotl/p/5486753.html 视频相关库的信息介绍参考:http://www.cnblogs.com/yoyotl/p/5488890.h 阅读全文
posted @ 2023-01-04 15:56 阿风小子 阅读(109) 评论(0) 推荐(0)
摘要: FreeSWITCH使用了大量的第三方库,本文档主要介绍视频相关库的信息: 音频相关库的信息介绍参考:http://www.cnblogs.com/yoyotl/p/5486753.html 其他相关库的信息介绍参考:http://www.cnblogs.com/yoyotl/p/5489315.h 阅读全文
posted @ 2023-01-04 15:56 阿风小子 阅读(146) 评论(0) 推荐(0)
摘要: FreeSWITCH使用了大量的第三方库,本文档主要介绍音频相关库的信息: 视频相关库的信息介绍参考:http://www.cnblogs.com/yoyotl/p/5488890.html 其他相关库的信息介绍参考:http://www.cnblogs.com/yoyotl/p/5489315.h 阅读全文
posted @ 2023-01-04 15:55 阿风小子 阅读(360) 评论(0) 推荐(0)
摘要: 最近的一个项目需要按照时间播放mp3文件,例如,播放10分钟的不同音乐。 这就意味着我得事先知道mp3文件的播放时长,以决定播放几遍这个文件。 方案一:Java的方式 找第三方的库,真的感谢这些提供jar包的高手,找到一个项目:jaudiotagger。 1 try { 2 3 MP3File fi 阅读全文
posted @ 2023-01-04 15:53 阿风小子 阅读(1879) 评论(0) 推荐(0)
摘要: 一、SDP规范了回话描述的格式,一般结合会话协议共同工作。 常见的会话传送协议包括:SAP(Session Announcement Protocol 会话公告协议),SIP,RTSP,HTTP,和使用MIME的E-Mail。 (PS:对SAP只能包含一个会话描述,其它会话协议的SDP可包含多个会话 阅读全文
posted @ 2023-01-04 15:51 阿风小子 阅读(242) 评论(0) 推荐(0)
摘要: 一、定义 实时传输协议(Real- time Transport Protocol,RTP)是在Internet上处理多媒体数据流的一种网络协议,利用它能够在一对一(unicast,单播)或者一对多 (multicast,多播)的网络环境中实现传流媒体数据的实时传输。 RTP通常使用UDP来进行多媒 阅读全文
posted @ 2023-01-04 15:51 阿风小子 阅读(111) 评论(0) 推荐(0)
摘要: 一、用户号码组 听到这个名词的时候,心中还挺迷茫,需求如下: 一个用户分配号码为800,但是这个用户有一部座机,两部手机;有人拨打800这个号码时,这个用户的所有关联终端都要振铃。 其实就是用户号码多终端同时注册。 修改方法如下: 1 vim FreeSWITCH安装路径/sip_profiles/ 阅读全文
posted @ 2023-01-04 15:50 阿风小子 阅读(61) 评论(0) 推荐(0)
摘要: 配置/etc/odbc.ini 执行命令:isql freeswitch freeswitch 123456 -v 第一个报错: [08S01][unixODBC][MySQL][ODBC 5.3(w) Driver]Can't connect to local MySQL server throu 阅读全文
posted @ 2023-01-04 15:48 阿风小子 阅读(526) 评论(0) 推荐(0)
摘要: 去h.323plus官网上下载关联的库 http://www.h323plus.org/source/ 很贴心,分操作系统下载,而且关联的ptlib库的版本也一并列了出来。 一、编译ptlib库 1 export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig 2 阅读全文
posted @ 2023-01-04 15:41 阿风小子 阅读(198) 评论(0) 推荐(0)
摘要: 一、怎么会这个样子 很简单的一个想法,ajax以POST的方式提交一个表单,Spring MVC解析。然而一次次的打印null折磨了我整整一天…… 最后的解决现在看来是很明显的问题,“只是当时已惘然”…… 学海无涯!学海无涯!学海无涯! 二、简单的原罪 ajax提交的代码如下: 1 <script 阅读全文
posted @ 2023-01-04 15:39 阿风小子 阅读(170) 评论(0) 推荐(0)
摘要: 错误日志如下: 1 9003 2016-10-06 13:18:27.223464 [ERR] switch_core_file.c:260 Invalid file format [wav] for [/usr/local/freeswitch/sounds/music/8000/suite-es 阅读全文
posted @ 2023-01-04 15:37 阿风小子 阅读(440) 评论(0) 推荐(0)
摘要: 写过两篇关于编码的文章了,以为自己比较了解编码了呢?! 结果今天又结结实实的上了一课。 以前转来转去解决的问题终归还是简单的情形。即iso-8859-1转utf-8,或者iso-8859-1转gbk,gb2312之类。这种无损转换,一行代码就搞定。 今天遇到了gbk转utf-8。无论怎么转,都是乱码 阅读全文
posted @ 2023-01-04 15:36 阿风小子 阅读(6395) 评论(0) 推荐(0)
摘要: 简单翻了一下记录,我已经写了至少4篇关于编码和乱码的博客了,每次都觉得自己懂了。 实际上,这次的遭遇证明了“真懂”是一种很难达到的境界,吾辈仍需努力! 一、背景是这样子的: 1.一个J2EE项目。 2.项目的.java文件编码设置为utf-8。 3.项目的.jsp文件编码设置为utf-8。 事实上以 阅读全文
posted @ 2023-01-04 15:35 阿风小子 阅读(41) 评论(0) 推荐(0)
摘要: 前言: 网上一些朋友分享了关于hibernate-validator的使用方法,但是不是缺少关联库信息,就是提供的参考代码中缺少自定类。 希望我这一篇博客能够让你顺利的跑出预期的结果。 如果有错,可以给我留言。 英文好的朋友可以参考官网的getting started。 http://hiberna 阅读全文
posted @ 2023-01-04 15:33 阿风小子 阅读(164) 评论(0) 推荐(0)
摘要: 一、中文语音资源的获取 1 官方提供的资源:http://files.freeswitch.org/releases/sounds/ 2 自己录音 3 实在不行可以@我给你发一份。 二、中文资源的安装 1 英文资源的路径为conf/sounds/en/us/callie/... 2 类似的设置中文资 阅读全文
posted @ 2023-01-04 15:31 阿风小子 阅读(566) 评论(0) 推荐(0)
摘要: 今天导入一个数据库时,看到以下报错信息: Specified key was too long; max key length is 767 bytes 直译就是索引键太长,最大为767字节。 查看sql库表文件,发现有一列定义如下: 列 名:contact 列属性:varchar 列长度:1024 阅读全文
posted @ 2023-01-04 15:28 阿风小子 阅读(156) 评论(0) 推荐(0)
摘要: 一、背景: Linux后台运行了多个Java程序,进程名都是java。 执行pkill java会一次性杀掉所有的java进程。 二、解决思路: 1 先通过一定的检索条件,定位出指定的java进程 2 3 然后解析该字符串得出该进程的pid 4 5 执行kill命令杀掉这个进程 三、解决办法: 使用 阅读全文
posted @ 2023-01-04 15:23 阿风小子 阅读(286) 评论(0) 推荐(0)
摘要: 在微服务理念满天飞的今天,面对REST接口的机会越来越多。 除了打开浏览器的方法,我们还有一个很方便的方法测试REST接口,尤其是接口返回JSON数据格式时。 这就是curl。 一、安装篇 给一个可以下载的地址:https://curl.haxx.se/dlwiz/?type=bin a. Wind 阅读全文
posted @ 2023-01-04 15:16 阿风小子 阅读(296) 评论(0) 推荐(0)
摘要: 一、安装node.js环境 感谢阿里云,下载的链接http://npm.taobao.org/mirrors/node/latest-v6.x/ 二、安装apidoc npm install apidoc -g 三、背景准备 1.以Java为例,新建一个java项目,假设名为test。 2.新建一个 阅读全文
posted @ 2023-01-04 15:15 阿风小子 阅读(234) 评论(0) 推荐(0)
摘要: 软件版本的变化真是让人兴奋…… Linux服务器决定安装使用mysql 5.7了。 愉快的去官网下载安装包:https://dev.mysql.com/downloads/mysql/ 解决完所有依赖安装…… 执行systemctl start mysqld启动 执行systemctl status 阅读全文
posted @ 2023-01-04 15:13 阿风小子 阅读(396) 评论(0) 推荐(0)
摘要: 手动解析URL字符串中的参数,写了一个工具类。 1 final int MIN_ARRAY_LEN = 2; 2 final int DIVIDE_INTO_PAIRS = 2; 3 4 public Map<String, String> parseRequestParam(String url) 阅读全文
posted @ 2023-01-04 15:12 阿风小子 阅读(300) 评论(0) 推荐(0)
摘要: 注:本文描述请勿模仿,仅限万一遇到这种情况一试。 一不小心做了一个操作: 1 cd /usr 2 mv lib64 lib64-bak 然后奇异的发现: cp不能用了!ls也不能用了…… 提示信息如下: -bash: /usr/bin/cp: /lib64/ld-linux-x86-64.so.2: 阅读全文
posted @ 2023-01-04 15:10 阿风小子 阅读(150) 评论(0) 推荐(0)
摘要: PostgreSQL默认的理念是运行在本地地址且不允许外部访问的。 如果想通过Navicat for postgreSql这种优秀的第三方软件访问需要做出如下修改: 一、启动在外部可访问的地址上 1 编辑实际安装环境中的postgresql.conf文件 2 vim /var/lib/pgsql/9 阅读全文
posted @ 2023-01-04 15:08 阿风小子 阅读(64) 评论(0) 推荐(0)
摘要: 一、错误场景 FreeSWITCH通过网关和一台支持SIP的网关设备互联,一个呼叫发过去,收到这个错误。 FreeSWITCH的地址是192.168.1.99。 网关设备的地址是192.168.1.200。 SIP/2.0 403 Forbidden(Invalid domain in From: 阅读全文
posted @ 2023-01-04 15:05 阿风小子 阅读(226) 评论(0) 推荐(0)
摘要: 一、c3p0 public class ConnectionManager { public static ComboPooledDataSource dataSource; static { try { dataSource = new ComboPooledDataSource(); dataS 阅读全文
posted @ 2023-01-04 15:03 阿风小子 阅读(101) 评论(0) 推荐(0)
摘要: 前言:zookeeper支持本机多个进程之间的集群,本文描述的是多个独立主机的分布式集群。 一、前提条件 至少需要3台独立主机(不管是虚拟机还是独立硬件) 因为zookeeper支持“大多数节点可用时的服务保障”,而1台和2台是无法满足“大多数节点可用”的条件的。 二、N(N>=3)台主机的配置 它 阅读全文
posted @ 2023-01-04 15:02 阿风小子 阅读(723) 评论(0) 推荐(0)
摘要: 已经发布的项目war包更改了怎么办?我常用的做法是: 1.把war包上传服务器 2.远程登录服务器后台 3.停止tomcat服务 4.用新的war包替换老的war包 5.启动tomcat服务 后来才知道原来tomcat自带了远程发布的配置管理功能。 默认tomcat是关闭这个这个远程发布的用户入口的 阅读全文
posted @ 2023-01-04 15:00 阿风小子 阅读(98) 评论(0) 推荐(0)
摘要: 一、目录 按照图片准备下面的东西吧,基础jar,数据链接库的jar。 二、generatorConfig.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.o 阅读全文
posted @ 2023-01-04 14:59 阿风小子 阅读(71) 评论(0) 推荐(0)
摘要: 样式: a {width: 160px; overflow: hidden; text-overflow:ellipsis; white-space: nowrap;} 说明: white-space: nowrap 保证文本内容不会自动换行,如果多余的内容会在水平方向撑破单元格。 overflow 阅读全文
posted @ 2023-01-04 14:57 阿风小子 阅读(72) 评论(0) 推荐(0)
摘要: ar -rc libaprutil-1.a apr_dbd_mysql.a 静态库打包? 静态库的链接需要注意顺序问题。 例如首先编译first.a,然后编译second.a(依赖first.a)。 如果有一个程序需要同时使用这两个静态库,那么在连接的时候, 必须 把second.a放到前面! 把f 阅读全文
posted @ 2023-01-04 14:55 阿风小子 阅读(30) 评论(0) 推荐(0)
摘要: 一、给定yyyy-MM-dd hh:mm:ss格式的字符串,返回Date. public Date convertStr2Date(String dateString) { try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd h 阅读全文
posted @ 2023-01-04 14:53 阿风小子 阅读(47) 评论(0) 推荐(0)
摘要: 一、依赖包准备 //slf4j项目提供 compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25' //log4j2项目提供 compile group: 'org.apache.logging.log4j', name: 'lo 阅读全文
posted @ 2023-01-04 14:52 阿风小子 阅读(136) 评论(0) 推荐(0)
摘要: 一、背景假设源代码路径为/home/freeswitch 二、编译安装libesl.a1. cd /home/freeswitch(源代码的根目录) 执行./configure,以便生成必要的Makefile文件。 2. cd /home/freeswitch/libs/esl make && ma 阅读全文
posted @ 2023-01-04 14:50 阿风小子 阅读(356) 评论(0) 推荐(0)
摘要: 一、先来看看手工创建的方式 public static Connection getConnection() { Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.ge 阅读全文
posted @ 2023-01-04 14:45 阿风小子 阅读(268) 评论(0) 推荐(0)
摘要: 第一部分:单文件 一、背景目标文件HelloWorld.java package ccdate; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!") 阅读全文
posted @ 2023-01-04 14:43 阿风小子 阅读(362) 评论(0) 推荐(0)
摘要: 这是我用到的一个util类 1 public class HttpBaseService { 2 3 private OkHttpClient client = new OkHttpClient(); 4 private static final MediaType JSON = MediaType 阅读全文
posted @ 2023-01-04 14:40 阿风小子 阅读(83) 评论(0) 推荐(0)
摘要: 一、Java调用Linux系统的命令非常简单 这是一个非常常用的调用方法示例: 1 public String executeLinuxCmd(String cmd) { 2 System.out.println("got cmd job : " + cmd); 3 Runtime run = Ru 阅读全文
posted @ 2023-01-04 14:38 阿风小子 阅读(3401) 评论(0) 推荐(0)