Asterisk 內部呼叫、保存錄音、mysql 記錄 cdr
內部呼叫
sip.conf
[general]
context=public
allowoverlap=no
bindaddr=192.168.1.1 ;通訊伺服器 IP
bindport=5060 ; Asterisk 埠
udpbindaddr=0.0.0.0
tcpenable=yes
tcpbindaddr=0.0.0.0
transport=udp
srvlookup=yes
allow=g729
allow=ulaw
allow=alaw
[111]
secret=aaa ;密碼,隨意設定
port=5060 ;SIP埠地址
type=friend ;型別為friend
host=dynamic ;要求號碼註冊,以便Asterisk可以知道如何找到電話
qualify = yes ;確認遠端裝置是否可達
nat = no ;如果一個號碼在NAT裝置後面,例如防火牆,配置為yes
context = internal ;定義了指令的地點,用於控制電話的許可權,及如何處理此號碼的呼入呼叫。
canreinvite = no ;讓Asterisk媒體通道經過自己,而不允許RTP資訊直接在端點之間傳送
[222]
secret=aaa
port=5060
qualify = yes
nat = no
context = internal
canreinvite = no
type=friend
host=dynamic
extensions.conf
[internal]
exten => 111,Answer()
same => n,MixMonitor(${STRFTIME(${EPOCH},,%Y%m%d%H%M%S)}-${CALLERID(num)}-${EXTEN}.wav) ;記錄行如 20180327194417-222-111.wav 音訊檔案
same => n,Dial(SIP/111)
same => n,Hangup()
exten => 222,1,Answer()
same => n,MixMonitor(${STRFTIME(${EPOCH},,%Y%m%d%H%M%S)}-${CALLERID(num)}-${EXTEN}.wav)
same => n,Dial(SIP/222)
same => n,Hangup()
mysql 記錄
cdr_mysql.conf
[global]
hostname=localhost
dbname=asterisk
table=cdr
password=pwd
user=root
port=3306
sock=/var/lib/mysql/mysql.sock
cdrzone=Asia/Shanghai ;see /usr/share/zoneinfo/
userfield=1
[columns]
;static "<value>" => <column>
;alias <cdrvar> => <column>
alias start => calldate
;alias clid => <a_field_not_named_clid>
;alias src => <a_field_not_named_src>
;alias dst => <a_field_not_named_dst>
;alias dcontext => <a_field_not_named_dcontext>
;alias channel => <a_field_not_named_channel>
;alias dstchannel => <a_field_not_named_dstchannel>
;alias lastapp => <a_field_not_named_lastapp>
;alias lastdata => <a_field_not_named_lastdata>
;alias duration => <a_field_not_named_duration>
;alias billsec => <a_field_not_named_billsec>
;alias disposition => <a_field_not_named_disposition>
;alias amaflags => <a_field_not_named_amaflags>
;alias accountcode => <a_field_not_named_accountcode>
;alias userfield => <a_field_not_named_userfield>
;alias uniqueid => <a_field_not_named_uniqueid>
sql
連線資料庫,執行下述 sql
CREATE DATABASE asterisk DEFAULT CHARSET utf8;
USE asterisk;
CREATE TABLE `cdr` (
`calldate` datetime NOT NULL default '0000-00-00 00:00:00',
`clid` varchar(80) NOT NULL default '',
`src` varchar(80) NOT NULL default '',
`dst` varchar(80) NOT NULL default '',
`dcontext` varchar(80) NOT NULL default '',
`channel` varchar(80) NOT NULL default '',
`dstchannel` varchar(80) NOT NULL default '',
`lastapp` varchar(80) NOT NULL default '',
`lastdata` varchar(80) NOT NULL default '',
`duration` int(11) NOT NULL default '0',
`billsec` int(11) NOT NULL default '0',
`disposition` varchar(45) NOT NULL default '',
`amaflags` int(11) NOT NULL default '0',
`accountcode` varchar(20) NOT NULL default '',
`userfield` varchar(255) NOT NULL default ''
);
ALTER TABLE `cdr` ADD `uniqueid` VARCHAR(32) NOT NULL default '';
ALTER TABLE `cdr` ADD INDEX ( `calldate` );
ALTER TABLE `cdr` ADD INDEX ( `dst` );
ALTER TABLE `cdr` ADD INDEX ( `accountcode` );
cdr.manager.conf
enable=yes
modules.conf
; make menuselect 取消 app_cdr,勾選 cdr_mysql
load => cdr_mysql.so
cdr.conf
enable=yes
重啟 Asterisk
service asterisk restart
Windows 配置 eyeBeam
撥打電話
檢視記錄
[[email protected]-YZ-KVM-255-161 monitor]# ll | grep 20180409174036-111-222.wav
-rw-r--r-- 1 root root 44 Apr 9 17:40 20180409174036-111-222.wav
相關推薦
Asterisk 內部呼叫、保存錄音、mysql 記錄 cdr
內部呼叫 sip.conf [general] context=public allowoverlap=no bindaddr=192.168.1.1 ;通訊伺服器 IP bindport=5060 ; Asterisk 埠 udpbindaddr=
DOM4j解析、修改、刪除、增加、保存XML的方法
exceptio set null 增加 gb2 itl str owin chang //XML文件 <?xml version="1.0" encoding="gb2312"?> <PhoneInfo> <Brand name="華為
IO編程__緩沖字符流__應用__記事本的打開、保存功能
導入 fin fault == tac form iter npe echo 一、代碼如下 package www.tainiu.wenjian; import java.awt.event.ActionEvent; import java.awt.even
[轉載]matlab高光譜影像讀取、保存、分塊
nvi blank cloud 說明 byte matlab spa ltib 無法顯示 原文地址:matlab高光譜影像讀取、保存、分塊作者:wind_靜水流深_cloud 高光譜影像由於含有近百個波段,用matlab自帶的圖像讀寫函數imread和imwrite往往不能
Scrapy教程——搭建環境、創建項目、爬取內容、保存文件
.com 目錄 tor strong targe self 文件名 ng- start 1、創建項目 在開始爬取之前,您必須創建一個新的Scrapy項目。進入您打算存儲代碼的目錄中,運行新建命令。 例如,我需要在D:\00Coding\Python\scra
逆向---01.Nop、中文字符串搜索、保存修改後程序
class target down get blog ctrl 反匯編 生成文件 輸入 基礎知識:(Nop:刪除跳轉) gcc編譯鏈接命令: gcc -o 生成文件名 源文件名 gcc編譯成匯編代碼:gcc -o 生成文件名 -S 源文件名 VS查看匯編代碼:(調試
MSIL實用指南-局部變量的聲明、保存和加載
dem opcode 所在 icm open cmod key 得到 closed 這一篇講解方法內的局部變量是怎麽聲明、怎樣保存、怎樣加載的。 聲明局部變量聲明用ILGenerator的DeclareLocal方法,參數是局部變量的數據類型,得到一個局部變量對應的創建類L
Opencv-Python:圖像尺寸、圖像的讀取、顯示、保存與復制
常用 BE color reat size title enc creat alt Opencv-Python:圖像尺寸、圖像的讀取、顯示、保存與復制 原創 2017年11月23日 21:30:49 4440 在使用opencv的方法時,首先必須導入opencv
基於Html5 Plus + Vue + Mui 移動App開發(三)-文件操作(讀取、保存、更新數據)
mes das parse 移動 分享 gif ont 包括 ole 實全資訊采用基於Html5 Plus + Vue + Mui 移動App。主要實現功能包括: 實現搜索站點設置 實現搜索關鍵字定義 實現搜索資訊保存、刪除功能。 主界面實現關鍵字搜
【arm】arm架構64位入門基礎:架構分析、暫存器、呼叫規則、指令集、程式除錯以及參考手冊
Date: 2018.8.21 1、參考 2、ARM64位架構分析 ARM64位採用ARMv8架構,64位操作長度,對應處理器有Cortex-A53、Cortex-A57、Cortex-A73、iphones的A7和A8等。 AARCH64是全新32位固定長
C#流總結(文件流、內存流、網絡流、BufferedStream、StreamReader/StreamWriter、TextReader/TextWriter)
accept ron 格式 初始 oar listener style ble 流數據 一、文件流FileStream類主要用於讀寫磁盤文件。常用於向磁盤存儲數據或讀取配置文件。讀取文件:復制代碼 //文件流:讀取 FileStream fileStream = F
查看磁盤io、內存free、系統進程ps、網絡狀態netstat、Linux抓包tcpdump
ipv mon 1.3 sda verify available x86 4.0 length 查看磁盤io性能狀態 iostat -x 查看磁盤使用(安裝包與sar的安裝包一起)主要查看%util [root@shu-test ~]# iostat -x Linux 3.
python性能優化、內存優化、內存泄露;與其他語音比較效率如何?
語音 gpo .org .html www. com log .cn amp 1、內存泄露:http://www.cnblogs.com/xybaby/p/7491656.html 2、內存優化:http://www.cnblogs.com/xybaby/p/7488216
Redis系列十:緩存雪崩、緩存穿透、緩存預熱、緩存更新、緩存降級
布隆 隊列 class 系統 新頁面 研究 後臺 默認值 二級 一、緩存雪崩 緩存雪崩我們可以簡單的理解為:由於原有緩存失效,新緩存未到期間(例如:我們設置緩存時采用了相同的過期時間,在同一時刻出現大面積的緩存過期),所有原本應該訪問緩存的請求都去查詢數據庫了,而對數據庫C
操作系統、編程語言分類、變量、內存管理、定義變量
解釋器 value Go 需要 比較 應該 強調 調試 dbo 1,什麽是操作系統 操作系統就是軟件與硬件之間的一個操作程序。 2、為什麽要有操作系統 (1)控制硬件 (2)把控制硬件的接口做成一個完美的接口,供用戶使用。 3、操作系統的三大組成 應用程序 : 操作系統
緩存穿透、緩存擊穿、緩存雪崩概念及解決方案
失效 當前 過期 直接 集中 設置 查詢 過濾 導致 緩存穿透 概念 訪問一個不存在的key,緩存不起作用,請求會穿透到DB,流量大時DB會掛掉。 解決方案 采用布隆過濾器,使用一個足夠大的bitmap,用於存儲可能訪問的key,不存在的key直接被過濾; 訪問key未在
【Git】(1)---工作區、暫存區、版本庫、遠程倉庫
size 一個 工作區 本地 -s 新建 這樣的 cache 通過 工作區、暫存區、版本庫、遠程倉庫 一、概念 1、四個工作區域 Git本地有四個工作區域:工作目錄(Working Directory)、暫存區(Stage/Index)、資源庫(Repos
緩存擊穿、緩存穿透、緩存雪崩
color www 存在 數據庫 直接 agg 訪問 隨機 從數據 參考文章:緩存穿透、緩存擊穿、緩存雪崩概念及解決方案 一. 緩存擊穿 1. 概念 緩存擊穿指的是高並發情況下在緩存中查詢時該資源不存在,導致緩存無法命中,所有請求擊穿到後端數據庫系統進行查詢,使數
iOS 保存錄音
-(void)testClick{ [_recorder record]; [self performSelector:@selector(stopRecorder) withObject:nil afterDelay:15]; } -(void)stopRecorder{
緩存穿透、緩存擊穿、緩存雪崩及其解決方案
信息 不存在 相同 但是 崩潰 存儲 搜索 普通 攻擊 1.緩存穿透 緩存穿透是指查詢一個一定不存在的數據,因為緩存中也無該數據的信息,則會直接去數據庫層進行查詢,從系統層面來看像是穿透了緩存層直接達到DB,從而稱為緩存穿透,沒有了緩存層的保護,這種查詢一定不存在的數據