Freeswitch学习笔记(三):配置

参考Configuration文档:

https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Configuration/

1.默认配置

修改xml后reloadxml生效

快捷键F?


sofia loglevel设置

sofia loglevel all [0-9]

重载sofia(SIP模块)

reload mod_sofia

预设目录

方法:fs_cli下执行

eval $${base_dir}

docker方式安装的FreeSWITCH 用于某些文件的默认目录

base_dir
这定义了大多数其他目录设置的根目录
/usrcache_dir
缓存目录
/var/cache/freeswitchcerts_dir
证书目录
/etc/freeswitch/tlsconf_dir
配置文件目录
/etc/freeswitchdb_dir
核心数据库目录
/var/lib/freeswitch/dbgrammar_dir
语法目录
/usr/share/freeswitch/grammarhtdocs_dir
html网页或http api接口 文件目录
/usr/share/freeswitch/htdocslog_dir
日志文件目录
/var/log/freeswitchmod_dir
模块目录
/usr/lib/freeswitch/modrecordings_dir
录音文件目录
/var/lib/freeswitch/recordingsrun_dir
运行时目录
/var/run/freeswitchscript_dir
脚本目录
/usr/share/freeswitch/scriptssounds_dir
声音文件目录
/usr/share/freeswitch/soundssound_prefix
词语的音频所在的目录前缀,以及默认情况下保存录音的位置。请参见mod_dptools:record、mod_dptools:record_session、mod_command 和 (FreeSWITCH API)suuid_record。
/usr/share/freeswitch/sounds/en/us/calliestorage_dir
/var/lib/freeswitch/storagetemp_dir
/tmpcore_uuid 
850415ed-7de8-4231-a319-46728bb6f0c3switch_serial
c0a86364d6cclocal_mask_v4
此全局变量由 FreeSWITCH 核心动态设置,方法是在确定local_ip_v4时使用从底层操作系统接收的网络掩码。
255.255.255.0zrtp_enabled
此全局变量由 FreeSWITCH 核心设置为 switch.conf.xml 中全局 rtp-enable-zrtp 设置的值。有关详细信息,请参阅 SIP TLS 页面。
truehostname  此全局变量由 FreeSWITCH 核心动态设置,并设置为运行 FreeSWITCH 的服务器的主机名。不能通过设置来覆盖此变量的值。但是,如果更改服务器的主机名,则变量的值将更新。
dockerhub.locallocal_ip_v4 和 local_ip_v6 string 这个全局变量由 FreeSWITCH 核心动态设置,通过向底层操作系统询问运行 FreeSWITCH 的服务器的 IP 地址。如果服务器有多个 IP 地址,则此地址将设置为操作系统返回的第一个 IP 地址。在默认配置中,有许多设置使用此全局变量。
您不能覆盖此全局变量的值,因为它将每分钟由 FreeSWITCH 核心重置一次。如果您的服务器有多个 IP 地址,并且您希望强制 FreeSWITCH 使用特定的 IP 地址,则可以创建一个force_local_ip_v4全局变量并将其设置为您喜欢的 IP 地址。您还必须将local_ip_v4变量设置为此IP地址,只需将local_ip_v4设置为使用force_local_ip_v4的值即可。ipv6同理192.168.99.100
::1

2.CDR

参考CDR文档:
https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Configuration/CDR/

参考mod_cdr_csv文档:

https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Modules/mod_cdr_csv_6587322/#legs

Call Detail Records呼叫详细记录,简称CDR,指的是每一次通话过程中记录的数据,CDR可能包含特定于每个呼叫会话的属性,并最终包含呼叫的每个leg(a,b,ab)
CDR包含发起呼叫和接收呼叫的电话号码、呼叫时间、呼叫持续时间和许多其他属性。

FreeSWITCH默认加载的模块是mod_cdr_cvs,mod_cdr_cvs模块提供的功能是把CDR写入本地的.cvs文件并插入数据库,这些csv文件以呼叫的分机号命名,
常规安装方式下,具体文件目录是/usr/local/freeswitch/log/cdr-csv
docker安装方式下,具体的文件目录是/var/log/freeswitch/cdr-csv/

root@93340caa8502:/etc/freeswitch# cd /var/log/freeswitch/cdr-csv/
1008.csv    Master.csv

举例CDR的CSV文件1008.csv

"1008","1008","1001","default","2023-01-17 02:50:31","2023-01-17 02:50:41","2023-01-17 02:50:42","11","1","NORMAL_CLEARING","14e4d428-8ac0-43bd-9cef-78b238c46008","","1008","PCMA","PCMA"

也可以使用mod_xml_cdr模块处理,默认存储在/usr/local/freeswitch/log/xml_cdr/
例如/usr/local/freeswitch/log/xml_cdr/a_80183ec8-d424-11e3-8fb2-65b6c3cdac7d.cdr.xml中的详细XML CDR示例


CS_REPORTINGinbound...inbound80183ec8-d424-11e3-8fb2-65b6c3cdac7d160080098009%40XX.XX.XXX.XXXXX.XX.XXX.XXXsofia/external/8009%40XX.XX.XXX.XXX......8009XML80098009...13992738984217661399273898421766...

CDR存储

Freeswitch下的CDR存储有多种方式

存储CDR的最好方式是将所有数据字段都写入磁盘或者RAM驱动器上的临时区域,然后编写脚本扫描该区域,以便将它们长期存储到数据库中。
这样的处理方式可以避免一种结果的发生:http或db服务器意外关闭时,不会导致Freeswitch语音调用线程的挂起。

警告:不要在dialplan或ESL脚本中编写CDR脚本,因为这将延迟语音线程的终止
原则是允许语音线程只处理语音;离线单独处理后端业务流程

有以下10种方式可以保存或者获取CDR信息

  • mod_cdr_csv:保存一个CSV文件,其中包含模板中指定的变量。
  • mod_cdr_mongodb:将详细的CDR数据保存到MongoDB数据库中,格式类似于mod_json_cdr。
  • mod_odbc_cdr :保存从调用到您选择的ODBC数据库的任何通道变量。
  • mod_cdr_pg_csv:Asterisk与PostgreSQL接口兼容的CDR模块。
  • mod_cdr_sqlite:使用模板中指定的变量直接保存到sqlite DB。
  • mod_json_cdr:保存到文件或post通道变量和callflow的JSON表示。它可以直接发布到CouchDB。
  • mod_xml_cdr:保存到文件或提交通道变量和调用流的XML表示。Xmlcdrd或JavaCDRLogger可以帮助您保存结果。
  • mod_radius_cdr: RADIUS CDR模块。
  • CDR via ESL: 通过ESL的CDR ,在ESL事件中检索CDR
  • tiny_cdr:来自github作者bougyman的https://github.com/rubyists/tiny%5Fcdr ,是Ruby脚本语言开发

常用的两种方式mod_cdr_csv和mod_xml_cdr

mod_cdr_csv配置文件

mod_cdr_csv的配置文件在/freeswitch/autoload_configs/cdr_csv.conf.xml
默认情况下,它只记录a-leg, 要把完整的CDR记录下来,需要把legs设为ab


CSV文件将写入的目录默认值:/log/cdr-csv(或/var/log/freeswitch/)该值可以被cdr_csv_base通道变量覆盖。
                        

                    

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部