java  freeswitch 留言功能 java freeswitch 留言功能freeswitch 自带的voicemail 虽然可以实现留言功能但是对于freeswitch不是很精通的人来说会比较麻烦现在我介绍的是如何绕过voicemain 使用java和freeswitch的录音功能来实现留言正文java和freeswitch的录音功能来实现留言主要是需要配合IVR 流程来实现IVR不再做概述留言相当于IVR中的一个节点下面讲通话过程走到留言节点如何实现上述的留言功能数据库表设计 留言最简单的就是存在一个单独的表不和话单存在一张表免除开发时的风险留言的查询也更方便客户留言需不需要指定留言到哪个技能组或个人放音的时机和录音的时机留言步骤1.数据库表设计 下边是我自己测试设计的表结构仅供参考2.获取IVR 流程中留言的客户选择的坐席String targetUsernodeChildren.getString(record_exten);// 接收留言的分机号3.播放留言文件和滴一声的语音并设置留言路径baseHandler.playFile(fsIp,request.getUuid(),file_string:///home/record/rings/留言.wav!tone_stream://%(1000,0,640)!silence_stream://-1,400,PLAYBACK);String recordPath/home/record/records/callIn/domain/DateUtils.datePath();String recordNameDateUtils.dateTimeNowSSS().wav;//设置只录客户侧声音baseHandler.sendFsMessage(fsIp,uuid_setvar_multi request.getUuid() RECORD_READ_ONLYtrue);3.执行录音命令客户挂机结束录音baseHandler.sendFsMessage(fsIp,uuid_setvar_multi request.getUuid() session_timeout0,call_timeout0);baseHandler.sendFsMessage(fsIp,uuid_record request.getUuid() start recordPath/recordName 0);4.插入数据库CallRecords callRecordsnewCallRecords();callRecords.setDomain(domain);callRecords.setLocalUrl(recordPath/recordName);callRecords.setRecordUrl(http://127.0.0.1:8000/records/callIn/domain/DateUtils.datePath()/recordName);callRecords.setPhoneNum(request.getCaller());callRecords.setUserName(targetUser);callRecords.setCreateTime(DateUtils.getDateTime());callRecords.setCdrId(request.getCdrId());callMapper.insertRecord(callRecords);