溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

FreeSWITCH折騰筆記3——數(shù)據(jù)庫修改為postgresql

發(fā)布時(shí)間:2020-06-30 15:55:06 來源:網(wǎng)絡(luò) 閱讀:2997 作者:ligen119 欄目:建站服務(wù)器

需要修改的配置文件:

switch.conf.xml //核心表 

cdr_pg_csv.conf.xml //通話記錄 db.conf.xml //核心表 
voicemail.conf.xml //留言相關(guān)的表 
internal.xml // 
external.xml // 
fifo.conf.xml //fifo相關(guān)的表 
callcenter.conf.xml //callcenter程序相關(guān)的表。


1、switch.conf.xml

<param name="core-db-dsn" value="pgsql://host=localhost dbname=freeswitch user=freeswitch password='password' options='-c client_min_messages=NOTICE' application_name='freeswitch'" />


2、cdr_pg_csv.conf.xml

 <param name="db-info" value="host=localhost user=freeswitch password=nopassword dbname=freeswitch connect_timeout=10" />
 <param name="db-table" value="xml_cdr"/>


3、db.conf.xml、voicemail.conf.xml、internal.xml、external.xml、fifo.conf.xml、callcenter.conf.xml 

<param name="odbc-dsn" value="pgsql://host=localhost dbname=freeswitch user=freeswitch password='
password
' options='-c client_min_messages=NOTICE' application_name='freeswitch'"/>

或者在var.xml追加以下配置,然后去注釋db.conf.xml、voicemail.conf.xml、internal.xml、external.xml、fifo.conf.xml、callcenter.conf.xml 中的" <param name="odbc-dsn" value="$${dsn}"/>"

<X-PRE-PROCESS cmd="set" data="dsn=pgsql://hostaddr=127.0.0.1 dbname=freeswitch user=freeswitch password='password' options='-c client_min_messages=NOTICE' application_name='freeswitch'" />
<X-PRE-PROCESS cmd="set" data="dsn_callcenter=pgsql://hostaddr=127.0.0.1 dbname=freeswitch user=freeswitch password='password' options='-c client_min_messages=NOTICE' application_name='freeswitch'" />


【附】xml_cdr建表sql及cdr_pg_csv.conf.xml 字段設(shè)置


CREATE TABLE "public"."xml_cdr" (
"uuid" uuid NOT NULL,
"domain_uuid" uuid,
"extension_uuid" uuid,
"domain_name" text COLLATE "default",
"accountcode" text COLLATE "default",
"direction" text COLLATE "default",
"default_language" text COLLATE "default",
"context" text COLLATE "default",
"xml_cd" text COLLATE "default",
"json" jsonb,
"caller_id_name" text COLLATE "default",
"caller_id_number" text COLLATE "default",
"source_number" text COLLATE "default",
"destination_number" text COLLATE "default",
"start_epoch" numeric,
"start_stamp" timestamp(6),
"answer_stamp" timestamp(6),
"answer_epoch" numeric,
"end_epoch" numeric,
"end_stamp" text COLLATE "default",
"duration" numeric,
"mduration" numeric,
"billsec" numeric,
"billmsec" numeric,
"bridge_uuid" text COLLATE "default",
"read_codec" text COLLATE "default",
"read_rate" text COLLATE "default",
"write_codec" text COLLATE "default",
"write_rate" text COLLATE "default",
"remote_media_ip" text COLLATE "default",
"network_addr" text COLLATE "default",
"recording_file" text COLLATE "default",
"leg" char(1) COLLATE "default",
"pdd_ms" numeric,
"rtp_audio_in_mos" numeric,
"last_app" text COLLATE "default",
"last_arg" text COLLATE "default",
"cc_side" text COLLATE "default",
"cc_member_uuid" uuid,
"cc_queue_joined_epoch" text COLLATE "default",
"cc_queue" text COLLATE "default",
"cc_member_session_uuid" uuid,
"cc_agent" text COLLATE "default",
"cc_agent_type" text COLLATE "default",
"waitsec" numeric,
"conference_name" text COLLATE "default",
"conference_uuid" uuid,
"conference_member_id" text COLLATE "default",
"digits_dialed" text COLLATE "default",
"pin_number" text COLLATE "default",
"hangup_cause" text COLLATE "default",
"hangup_cause_q850" numeric,
"sip_hangup_disposition" text COLLATE "default",
CONSTRAINT "xml_cdr_pkey" PRIMARY KEY ("uuid")
)
WITH (OIDS=FALSE)
;
ALTER TABLE "public"."xml_cdr" OWNER TO "freeswitch";
</settings>
  <schema>
    <field var="uuid"/>
    <field var="domain_uuid"/>
    <field var="domain_name"/>
    <field var="accountcode"/>
    <field var="direction"/>
    <field var="default_language"/>
    <field var="context"/>
    <field var="xml_cdr"/>
    <!-- <field var="local_ip_v4"/> -->
    <field var="caller_id_name"/>
    <field var="caller_id_number"/>
    <field var="destination_number"/>
    <field var="start_epoch"/>
    <field var="start_stamp"/>
    <field var="answer_stamp"/>
    <field var="answer_epoch"/>
    <field var="end_epoch"/>
    <field var="end_stamp"/>
    <field var="duration"/>
    <field var="mduration"/>
    <field var="billsec"/>
    <field var="billmsec"/>
    <field var="bridge_uuid"/>
    <!-- <field var="bleg_uuid"/> -->
    <field var="read_codec"/>
    <field var="read_rate"/>
    <field var="write_codec"/>
    <field var="write_rate"/>
    <field var="remote_media_ip"/>
    <field var="network_addr"/>
    <field var="recording_file"/>
    <field var="leg"/>
    <field var="pdd_ms"/>
    <field var="last_app"/>
    <field var="last_arg"/>
    <field var="cc_side"/>
    <field var="cc_member_uuid"/>
    <field var="cc_queue_joined_epoch"/>
    <field var="cc_queue"/>
    <field var="cc_member_session_uuid"/>
    <field var="cc_agent"/>
    <field var="cc_agent_type"/>
    <field var="waitsec"/>
    <field var="conference_name"/>
    <field var="conference_uuid"/>
    <field var="conference_member_id"/>
    <field var="digits_dialed"/>
    <field var="hangup_cause"/>
    <field var="hangup_cause_q850"/>
    <field var="sip_hangup_disposition"/>
    <!-- <field var="sip_hangup_disposition"/> -->
    <!-- <field var="ani"/> -->
  </schema>

【附】錄音文件路徑寫入數(shù)據(jù)庫:

dialpanl/default.xml中添加一行,定義錄音文件路徑

	<action application="bind_meta_app" data="1 b s execute_extension::dx XML features"/>
	<action application="bind_meta_app" data="2 b s record_session::$${recordings_dir}/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
	<action application="bind_meta_app" data="3 b s execute_extension::cf XML features"/>
	<action application="bind_meta_app" data="4 b s execute_extension::att_xfer XML features"/>
<action application="set" data="recording_file=$${recordings_dir}/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>

再在autoload_configs/cdr_pg_csv.conf.xml的字段定義中添加一行
<field var="recording_file"/>
最后在數(shù)據(jù)庫表中添加一個(gè)字段
recording_file
FreeSWITCH折騰筆記3——數(shù)據(jù)庫修改為postgresql
重新加載模塊reload mod_cdr_pg_csv
再打電話就有錄音路徑生成了




向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI