内部呼叫
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)
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
load => cdr_mysql.so
cdr.conf
enable=yes
重启 Asterisk
service asterisk restart
Windows 配置 eyeBeam
拨打电话
查看记录
[---- ] --.
------ --.