还剩15页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
常见操作和问题FreeSwitch
一、安装配置安装
1.参考这篇安装文档安装〃https:blog,csdn.net/weixin43069862/artide/details/105409504为防止后续文章失效,内容如下)下载安装包1freeswitch进入下面地址,选择需要的安装包进行下载,当前为freeswitch-
1.102-其他版本地址)安装对应依赖2安装依赖的时候,安装源最好选择使用国内的,不然可能会中途报错或者很yum悍工Iyum install-y gitalsa-lib-devel autoconfautomake bisonbroadvoice-devel bzip2curl-devel Iibdb4-devel e2fsprogs-devel erlangflite-devel g722_l-devel gcc-c++gdbm-devel gnutls-devel ilbc2-devel Idns-devel Iibcodec2-devel libcurl-devellibedit-devel libidn-devel libjpeg-devel libmemcached-devel libogg-devel libsilk-devellibsndfile-devel libtheora-devel libtiff-devel libtoollibuuid-devel libvorbis-develIibxml2-devel lua-devel Izo-devel mongo-c-driver-devel ncurses-develnet-snmp-devel openssl-devel opus-devel pcre-devel perlperl-ExtUtils-Embedpkgconfig portaudio-devel postgresql-devel python-devel python-develsoundtouch-devel speex-devel sqlite-devel unbound-devel unixODBC-devel wgetwhichyasm zlib-devel libshout-devel Iibmpgl23-devel lame-develconfiguration name=mod_blacklist.conf description=Blacklist modulelists二”黑名单文件路径(一行一个号list name=gxg_blacklist filename码)V/lists/configuration呼出黑名单设置(我们暂时用不到),在文件dialplan/default.xmlextension name=blacklist_checkn()condition field=${blacklist checkexample${destination_number}}Aexpression=true$action application=answer data=7”黑名单提示语音文件地址action application=playback data=7action application=hungup data=7/condition/extension呼入黑名单设置,在dialplan/public.xml:在(〉节点下新增context name=public”extension name=blacklist_checkH()condition field=${blacklist checkgxg_blacklist${callerjd_number}}Aexpression=true$action application=answer data=/action application=playback data=$${base_dir}/sounds/ext/conf-bad-pin.wav7action application=hangup data=7/condition/extension黑名单查询命令检查内存中黑名单列表是否有有返回没blacklist checklistname item//item,true,有则返回false在内存对应的列表中增加项blacklist addlistname item//listname itemblacklist在内存对应的列表中删除项del listname item//listnameitemblacklist save//将内存中的所有写入对应的文彳牛中/如listname listnameitem/usr/local/freeswitch/blacklists/blocked.list//将文件中的数据更新到内存中blacklist reload
二、配置和常见错误拨打电话后崩溃退出
1.fs导致这个问题的原因很多,这边遇到的情况是由于打开了模块关闭即可在文mod_xml_cdr(件注释掉下面的内容默认是注释掉的):conf/autoload_configs/modules.conf.xml,loadmodule=mod_xml_cdr7无法连接
2.Fs_cli目前遇到这问题的解决方案修改策略,文彳牛A.ACL conf/autoload_configs/event_socket.conf.xmlconfiguration name=event_socket.conf description=Socket Clientsettingsnparam name=listen-ip value=
127.
0.
0.17param name=listen-port“value=80217Hparam name=password value=ClueCon7/settings/configuration如果上面的端口被改,我之前是改为了则需要加参数B.listen-port8031,./bin/fs_cli-H
127.
0.
0.1-P8031-p ClueCon编译错误问题解决
3.比如执行make mod_xml_curl-install解决方法在安装目录找到打开对应模块的注释;modules.conf,mod_xml_curl>再执行以下命令:■make clean■./configure■make mod_xml_curl■make install修改号码为非开始后内线无法互拨
4.1解决方法文件,找到:〈l£\conf\dialplan\defaultxml extension name=Local〉,修改正则表达式—Extension expression.呼入呼出等待510s解决方法在文件,注释掉下面的\conf\dialplan\default.xmlaction application=sleep data=100007坐席挂断告知网关(未验证)
6.action application=set data=hangup_after_bridge=true7修改/新增展示号码
7.解决方法在目录conf/vanilla/directory)修改文件1defaul.xml修改或新增用户(组)group name=salesusersuser id=2000type=pointer7user id=2001type=pointer7〈〉user id=”2002”type=pointer”/二〉user id”2003”type=pointer”/〉user id=2004type=pointer/〉user id=”2005”type=pointer”/〉user id=”2006”type=pointer”/user id=2925type=pointer7/users/group如果是不放在目录,则修改如下(标红为修改部分)default,X-PRE-PROCESS cmd=include data=200x/*.xml7)在目录或新建的目录里面新增新用户配置2default.呼入后无法转分机8解决方法在文件,找到\conf\dialplan\default.xml,修改正贝表达式extension name=LocaLExtension expressionU坐席挂断后对方不挂断(待定)
9.解决方法在文件新增dialplan/public.xmlaction application=hangup/注此方法设置之后无效,注释之后反而就正常了,所以待确定坐席挂断后隔离多长时间再次接电话
10.解决方法:在文件修改配autoload_configs/callcenter.conf.xml tier-rule-wait-second置(默认300s\通话后自动挂断
11.30s解决方法将外网配置(下面两句代码))注释掉,重启sip_profiles/internal.xml FSzOparam name=ext-rtp-ip vaIue=$${external_rtp_ip}7param name=ext-sip-ip vaIue=$${external rtpip}7录音配置
12.呼出录音待确认A.文件,找到配置网关的部分红色部分为录音配置\conf\dialplan\default.xmlextension name=gw-callout-159八condition field=destination_number expression=9\d+$”action application=bridge data=sofia/gateway/gw-callout/$l/!-录音配置!-录音文件属性里面的标题,非必须action application=set data=RECORD__TITLE=Recording${destination_number}${caller_id_number}${strftime%Y-%m-%d%H:%M}7!-是否为立体声,为单声道-false二”action applicationset”data=REC0RD_STERE0=false7!--此处为录音文件路径以及格式为不填格式则为原始音频录音--wavaction application=record_session data=$${base_dir}/recordings/archive/${strftime%Y-%m-%d}/${strftime%Y-%m-%d-%H-%M-%S}_${destination_number}_${callerJd_number}.wav7!--是否接通后才录音--naction application=”set-data=media_bug_answer_req=true7最小录音时间,一般秒以上录音才有意义3naction application=“set”data=RECORD_MIN_SEC=37/condition/extension坐席录音B.文件新增红色部分配置conf/dialplan/public.xmlextension name=public_extensions_callcenterAcondition field=destination number expression=2220$action application=record_sessiondata=$${base_dir}/recordings/archive/${strftime%Y-%m-%d-%H-%M-%S}_${destination_number}_${caller_id_number}.wav7二匕action applicationnswer”/,action application=callcenter data=gxg@default7/condition/extension内线分机之间拨打录音c.文件,找到\conf\dialplan\default.xml,添力口extension name=Local_Extensionaction application=set data=RECORD_TITLE=Recording${destination_number}${callerjd_number}${strftime%Y-%m-%d%H:%M}7action application=set data=RECORD_COPYRIGHT=c20117二二action application=“set”data RECORD_SOFTWARE FreeSWITCH7action application=set data=RECORD_ARTIST=FreeSWITCH7naction application=set data=RECORD_COMMENT=FreeSWITCH7action application=setdata=RECORD_DATE=${strftime%Y-%m-%d%H:%M}7action application=set data=REC0RD_STERE0=true7action application=record_sessiondata=$${base_dir}/recordings/archive/${strftime%Y-%m-%d-%H-%M-%S}_${destination_number}_${caller_id_number}.wav7__接通后再录音设置:action application=set data=media_bug_answer_req=true7三.相关ESL客户端远程连接失败
1.>错误信息mod_event_socket.c:2659IP***Rejected byacl loopback.auto解决配置文件修改♦autoload_configs/event_socketconf.xml彳修改为♦param name=listen-ip value=
127.
0.
0.1/uparam或者二name=listen-ip”value7param namelisten-ip”value=:7打开注释♦
2.调话单配置param name=apply-inbound-acl value=lan7有三个模块可以实现以及此处mod_xml_cdr modjson_cdr mod_format_cdr,x使用此模块兼容和两种方式mod_format_cdr,xml json(配置见第一章第节)FreeSwitch4代码示例Java*接收话单消息*@param cdr话单详情json格式*/―@PostMappingCcalllist”PUbli^j/oid listenCalllist@RequestParam Stringcdr{接收到的为格式话单,需要自行处理//TODO Json四.相关资源版本下载地址
1.Fs声音文件下载地址
2.坐席配置详解
3.)安装3cmake卸载安装的版本,若无安装则忽略yum removecmake#yum cd/usr/local/srcwgetcd cmake-
3.
14.
0./configure make make install)安装4libkscd/usr/local/src yuminstall libatomicgit clonehttps://github.com/signalwire/libks.git cdlibks cmake.make make install)安装5signalwire-ccd/usr/local/srcgit clonehttps://github.com/signalwire/signalwire-c.git cdsignalwire-c/cmake.makemakeinstallIn-sf/usr/local/lib64/pkgconfig/signalwire_client.pc/usr/lib64/pkgconfig/signalwireclient.pc)编译6x264git clone./configure-disable-asm makemakeinstall)编译安装7mod_avwgetwgetcd/usr/local/srcgit clonehttps://gitee.com/nwaycn/libav.gitcd libav,,./configure-enable-pic-enable-shared-enable-libx264-enable-gpl-extra-libs=-ldrmake makeinstallcp/usr/local/lib/pkgconfig/libavcodec.pc/usr/lib64/pkgconfig/cp/usr/local/lib/pkgconfig/libavdevice.pc/usr/lib64/pkgconfig/cp/usr/local/lib/pkgconfig/libavfilter.pc/usr/lib64/pkgconfig/cp/usr/local/lib/pkgconfig/libavformat.pc/usr/lib64/pkgconfig/cp/usr/local/lib/pkgconfig/libavresample.pc/usr/lib64/pkgconfig/cp/usr/local/lib/pkgconfig/libavutil.pc/usr/lib64/pkgconfig/cp/usr/local/lib/pkgconfig/libswscale.pc/usr/lib64/pkgconfig/#动态链接库管理命令,其目的为了让动态链接库为系统所共享Idconfig编译8freeswitchcd/usr/local/src/./configuremakemake install其默认的安装位置是#freeswitch/usr/local/freeswitch#配置任何路径启动,下面可以不执行In-sf/usr/local/freeswitch/bin/freeswitch/usr/bin/In-sf/usr/local/freeswitch/bin/fs_cli/usr/bin/启动9freeswitch#后台启动命令,如果没有配置任何路径启动,则需要进入到安装目录后再执行不加参数是直接执行,关闭终端就结束程序/usr/local/freeswitch freeswitch-nc-rp#进入客户端命令fs cli#退出命令/exit/bye#关闭freeswitchshutdown)安装声音10freeswitch进入到目录(不是目录),执行:freeswitch-l.102-release/usr/local/freeswitch makesounds-install makemoh-install#以下是高音质,没有试过只需要安装上面就可以了make cd-sounds-installmake cd-moh-install注意安装音频文件下载可能会比较慢,可以先到下面地址去下载好音频文件上传到安装目录,然后执行上述目录freeswitch-
1.
10.
2.-release这边安装的时候需要的文件如下安装注意事项
2.配置呼入呼出和坐席
3.)加载初始化模块1位置:根据需要打开模块,这边打开如下load module=mod_xml_rpc/load module=mod_xml_curl7load module=mod_xml_cdr7load module=mod_callcenter7load module=mod sayzh7拨号计划2位置:conf/dialplan/default.xml新增内容extension name=gw-callout-153Acondition field=destination_number expression=5\d+$action application=bridge data=sofia/gateway/gw-callout/$l//condition/extension)新增网关3下新增一个文件,如conf/sip_profiles/external xmlgw-callout.xmlincludegateway name=gw-calloutparamsparam name=realm value=
192.
168.
0.7:5060/param name=proxy value=
192.
168.
0.77param name=register value=false/!param name=username value=20047param name=password value=12qwaszx7-/params/gateway/include)修改默认变量4修改默认密码里面,修改conf/vars.xmln nX-PRE-PROCESS cmd=set data=default_password=123456/修改默认等待10s文件,注释掉下面的^\conf\dialplan\default.xmlaction application=sleep data=100007)配置用户(一般默认可以不改)5group name=salesusers二二〉user id”2000”type pointer”/二”二〉user id2001”type pointer”/user id=2002type=pointer7二〉user id2003type=pointer”/〉user id=”2004”type=pointer”/(〉user id=”2005”type=pointer”/二”二〉user id2006”type pointer”/user id=2925type=*pointer7/users/group如果是不放在目录,贝(修改如下(标红为修改部分)default JX-PRE-PROCESS cmd=include”data=200x/*.xml7)外呼配置6里面,新增(标红部分是配置所有,没有dialplan/public.xml callcenter callcenter可以去掉)extensionname=public_extensions_callcentern Aconditionfield=destination_numberexpression=2220$action application=answer/action application=callcenter data=gxg@default7/condition/extension说明对应的网关配置的外呼代码expression配置的是的用户组名称,见下面坐席配置Data callcenter)坐席配置7里面:autoload_configs/callcenter.conf.xml修改(可选,如果不改下面的也使用原来的)gxg@default supper@default:queue name=supper@default^gqueue name=gxg@default新增配置agentsagent name=2004@default type=callbackcontact=[calLtimeout=10]user/2004status=Available max-no-answer=3二wrap-up-time=“10reject-delay-time“10busy-delay-time=“5/agent name=2002@default type=callback二contact=[call_timeout=10]user/2002status=Available max-no-answer3nwrap-up-time=10reject-delay-time=“10busy-delay-time=“5/agent name=2003@default type=callbackHcontact=[call_timeout=10]user/2003status=Available max-no-answer=3二wrap-up-time=“10reject-delay-time“10busy-delay-time=“5//agentstiers,tier agent=2004@default queue=gxg@default level=1position=T/H Htieragent=2002@default queue=gxg@default level=1position=T/ntier agent=2003@default queue=gxg@default level=1position=T//tiers配置服务接收话单
4.HTTP这个是使用模块实现的该模块目前是」和的集mod_format_cdr modson_cdr mod_xml_cdr合,最终将取代这两个模块)安装1文彳牛打开模块;conf/autoload_configs/modules.conf.xml mod_format_cdr执行命令make mod_format_cdr-install重启freeswitch)配置2打开文件,标红部分为核心配置conf/autoload_configs/format_cdr.conf.xmlconfiguration name=format_cdr.conf description=Multi FormatCDR CURLloggerprofilesprofile name=defaultsettings!-配置格式,也可以是xml,param name=format“value=json7!-认证用户密码--param name=“cred“value=gxg:12357!-回调监听地址-,,M,param name=url value=http://
192.
168.
0.136:8081/fs/calllist7!-存储文件地址--,,param name=log-dir value=7usr/local/src/data/calllist/log/7,,,param name=err-log-dir value=/usr/local/src/data/calllist/err/7param name=log-b-leg value=true/param name=prefix-a-leg value=true7格式配置,可以传递,但是处理似乎有问题,只能是!-key appljsonjsonbody header因此使用默认配置application/x-www-form-urlencoded,,param name=encode value=true7是否进行编码-!--val URLn〉param name=encode-values value=false”/param name=timeout value=57二param namedelay“value=37!重试延迟时间—,param name=retries value=37/settings/profile/profiles/configuration说明参数以指示该特定配置文件的所需输出格式()format JSON/XML记录发生至少需要或中的一个log-dir url在(文件)模式下,目标目录中的每次调用都会创建一个文件log-dir在模式下,每个提交一个(套接字当前未在之间重复使用)字url CDRPOST CDRcredo段应包含以进行身份验证login:password如果使用提交失败,则模块将使用每个回退到文件模式,保证话单不会url CDRerr-log-dir丢失配置黑名单
5.这个是使用模块实现的,该模块目前是和mod_format_cdr modjson_cdr mod_xml_cdr的集合,最终将取代这两个模块安装1文彳牛打开模块;conf/autoload_configs/modules.conf.xml mod_blacklist执行命令:make mod_blacklist-install重启或执行:freeswitch reloadmod_blacklist配置2打开文件,标红部分为需要------------对应conf/autoload_configs/blacklist.conf.xml的配置。
个人认证
优秀文档
获得点赞 0