06
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--
>>
<<
--
LATEST ENTRY
CATEGORY
ARCHIVE
PROFILE
SEARCH
RECENT COMMENT
  • 【情報】Excel で スクレイピング 【ぶっこ抜き】
    縫部尚登 (06/17)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/05)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    まこ (05/05)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/04)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/04)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/04)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/03)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    まこ (05/03)
  • 【QUICKFIX】 FX自動売買への道 18 【通貨ペアの取得(SecurityListRequest)】
    ganponfx (05/03)
  • エクセルファイルのパスワードを忘れたら・・・
    里奈 (09/09)
MOBILE
qrcode
OTHERS
<< 国際電話の国番号と地域番号 | top | 【GUIなんて】コマンドラインだけで SoftEther Client【飾りです】 >>
スポンサーサイト

一定期間更新がないため広告を表示しています

スポンサードリンク | - | | - | - |
Asterisk の CDR を ODBC で MySQL に保存
CDR とは Call Deteil Recording ってことで、通話記録です。
Asterisk を使った通話の記録を取ります。

通話記録っていうのは
 通話時刻 yyyy/mm/dd hh:mm:ss
 通話相手 090-1234-5678
 通話時間 180秒
 課金時間 170秒
 通話結果 (応答なし、応答あり、通話中)
みたいな通話の記録のことです。

詳しくはこちら
https://wiki.asterisk.org/wiki/display/AST/CDR+Fields
 
通常 Asterisk では CSV 形式でCDRを保存してくれちゃいますが、
後々の加工やら検索やらを考えるとやっぱしデータベースに入ってる方がなにかと楽。

でも、Asterisk は MySQL のサポートをやめてしまったので(1.8から非推奨モジュール入り?)
ODBC経由でつなげちゃいましょう。

ってことで、Asterisk の CDR を ODBC で MySQL に保存するための手順です。


まずは環境から
OS:CentOS 6.4 32bit
Asterisk:11.6
MySQL:5.5.34

いつの間にか Asterisk も11.6 とか、バージョン上がりましたねぇ。。
CentOS は minimal なインストールした直後って状態からの手順です。


■手順
1)OSの初期設定
2)追加パッケージインストール
3)MySQLインストール
4)ODBCインストール
5)Asteriskインストール&接続設定
6)Asterisk - CDR記録


1)OSの初期設定
OSインストール直後なので各種設定をば
SELinux無効化
vi  /etc/selinux/config
SELINUX=disabled

IPv6の無効化
# vi  /etc/modprobe.d/disable_ipv6.conf
options ipv6 disable=1

# vi  /etc/sysconfig/network
NETWORKING_IPV6=no

sarのインストールと1分間隔化(負荷記録がいらなければ不要)
yum  -y install sysstat wget
vi  /etc/cron.d/sysstat
*/1 * * * * root /usr/lib/sa/sa1 1 1

ntpdのインストールと時刻自動補正設定
yum  -y install ntp
ntpdate  ntp.nict.jp
vi   /etc/cron.d/ntpdate
0 */2 * * * root /usr/sbin/ntpdate -s ntp.nict.jp

不要サービス停止
#  for  i  in  `chkconfig  |  awk  '{print $1;}'`
do
echo $i
chkconfig  --level  0123456  $i  off
done
# chkconfig  crond on
# chkconfig  network on
# chkconfig  sshd on
# chkconfig  | grep :on
    crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off


もろもろアップグレード
# yum  -y  upgrade

再起動(新カーネルで起動)
# sync
# sync
# reboot

状況記録 メモリ
# free  -m
                 total       used       free     shared    buffers     cached
Mem:          1893         52       1840          0          4         21
-/+ buffers/cache:         26       1866
Swap:         2047          0       2047


OS単体でのメモリ利用は 52MByte(26MByte)のようですね
MySQL と Asterisk でどのくらい増えるのか


状況記録 ネットワーク
# netstat  -anp
    Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      855/sshd
tcp        0     52 192.168.1.202:22            192.168.1.3:58251           ESTABLISHED 897/sshd
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING     6815   1/init              @/com/ubuntu/upstart
unix  2      [ ]         DGRAM                    6958   343/udevd           @/org/kernel/udev/udevd
unix  3      [ ]         DGRAM                    6974   343/udevd
unix  3      [ ]         DGRAM                    6973   343/udevd


空いてるのは sshd の 22番ポートだけ♪


2)追加パッケージインストール
ダウンロードとインストール
cd  /usr/local/src
# wget  http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# wget  http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# rpm  -Uvh ¥
epel-release-6-8.noarch.rpm  ¥
remi-release-6.rpm           

追加パッケージのデフォルト無効化
# vi  /etc/yum.repos.d/epel.repo
[epel]
enabled=0
[epel-debuginfo]
enabled=0
[epel-source]
enabled=0

vi  /etc/yum.repos.d/remi.repo
[remi]
enabled=0
[remi-php55]
enabled=0
[remi-test]
enabled=0
[remi-debuginfo]
enabled=0
[remi-php55-debuginfo]
enabled=0
[remi-test-debuginfo]
enabled=0


3)MySQLインストール
インストール
# yum  --enablerepo=remi  -y  install  mysql-server

設定(文字コードをUTF8に統一)
# vi  /etc/my.cnf
[mysqld]
character_set_server=utf8
skip-character-set-client-handshake

[client]
default-character-set=utf8  

[mysql]
default-character-set=utf8  

[mysqldump]
default-character-set=utf8  

自動起動設定
# chkconfig  mysqld  on

起動
# service  mysqld   start
# /usr/bin/mysql_secure_installation
Enter current password for root (enter for none):
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

# mysql  -u  root  -p
Enter password:

  全部 utf8 になっていることを確認
mysql> show  variables  like  'char%';
    +--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)



  test データベースとか削除済みであること
mysql> show  databases;
    +--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.01 sec)



  Asterisk 用データベース作成
mysql> create  database asterisk_cdr;
Query OK, 1 row affected (0.00 sec)

  Asterisk 用ユーザ作成
mysql> grant  all  on  asterisk_cdr.* to  asterisk_user@localhost;
Query OK, 0 rows affected (0.01 sec)

  適用
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

  パスワード設定
mysql> set password for asterisk_user@localhost=password('asterisk_pass');
Query OK, 0 rows affected (0.01 sec)

  データベース一覧表示
mysql> show databases;
    +--------------------+
| Database           |
+--------------------+
| information_schema |
| asterisk_cdr       |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)


mysql> exit
Bye

  作成したユーザで接続
# mysql  -u  asterisk_user  -p
Enter password:

  文字コード確認 ( UTF-8 であること )
mysql> show  variables  like  'char%';
    +--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)


  データベース確認(Asterisk_cdr を操作可能であること)
mysql> show databases;
    +--------------------+
| Database           |
+--------------------+
| information_schema |
| asterisk_cdr       |
+--------------------+
2 rows in set (0.00 sec)


mysql> quit
Bye        


4)ODBCインストール
インストール
# yum  --enablerepo=remi  -y  install       ¥
mysql-connector-odbc ¥
unixODBC             ¥
unixODBC-devel       ¥
libtool-ltdl         ¥
libtool-ltdl-devel   ¥

ドライバ定義(32bit用)
# vi  /etc/odbcinst.ini
[MySQL]
Description     = ODBC for MySQL
Driver          = /usr/lib/libmyodbc5.so
Setup           = /usr/lib/libodbcmyS.so
FileUsage       = 1
CharSet         = utf8

ドライバ定義確認
# odbcinst  -q  -d
[MySQL]

ODBC 接続定義
# vi  /etc/odbc.ini
[asterisk-connector]
Description           = MySQL connection to 'asterisk' database
Driver                = MySQL
Database              = asterisk_cdr
Server                = localhost
Port                  = 3306
Socket                = /var/lib/mysql/mysql.sock
Charset               = utf8

ODBC 接続確認
# isql  -v  asterisk-connector  asterisk_user  asterisk_pass
    +---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+


  ODBC登録した設定名で、MySQLに接続できること


SQL> show  variables  like  'char%';
    +-----------------------------------+-------------------------------------------------------------+
| Variable_name                     | Value                                                       |
+-----------------------------------+-------------------------------------------------------------+
| character_set_client              | utf8                                                        |
| character_set_connection          | utf8                                                        |
| character_set_database            | utf8                                                        |
| character_set_filesystem          | binary                                                      |
| character_set_results             |                                                             |
| character_set_server              | utf8                                                        |
| character_set_system              | utf8                                                        |
| character_sets_dir                | /usr/share/mysql/charsets/                                  |
+-----------------------------------+-------------------------------------------------------------+
SQLRowCount returns 8
8 rows fetched


SQL> quit


5)Asteriskインストール&接続設定
必要パッケージインストール
# yum  install  -y  ¥
make          ¥
gcc           ¥
gcc-c++       ¥
openssl-devel ¥
ncurses-devel ¥
newt-devel    ¥
libxml2-devel ¥
kernel-devel  ¥
sqlite-devel  ¥
libuuid-devel ¥
uuid-devel    ¥

Asteriskダウンロード
# cd   /usr/local/src
# wget   http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz

コンパイル
# tar  xvfz  asterisk-11-current.tar.gz
# cd  asterisk-11.6.0
# ./configure
# make  menuselect.makeopts

  CDR と ODBC に関係するオプションを表示
# ./menuselect/menuselect  --list-options  |  egrep  -i  "(cdr|odbc)"
- cdr_mysql                      MENUSELECT_ADDONS
+ app_cdr                        MENUSELECT_APPS
+ app_forkcdr                    MENUSELECT_APPS
+ cdr_adaptive_odbc              MENUSELECT_CDR
+ cdr_custom                     MENUSELECT_CDR
+ cdr_manager                    MENUSELECT_CDR
+ cdr_syslog                     MENUSELECT_CDR
+ cdr_csv                        MENUSELECT_CDR
+ cdr_odbc                       MENUSELECT_CDR
+ cdr_pgsql                      MENUSELECT_CDR
+ cdr_radius                     MENUSELECT_CDR
+ cdr_sqlite3_custom             MENUSELECT_CDR
+ cdr_tds                        MENUSELECT_CDR
+ cdr_sqlite                     MENUSELECT_CDR
+ cel_odbc                       MENUSELECT_CEL
+ func_cdr                       MENUSELECT_FUNCS
+ func_odbc                      MENUSELECT_FUNCS
+ res_config_odbc                MENUSELECT_RES
+ res_odbc                       MENUSELECT_RES
- ODBC_STORAGE                   MENUSELECT_OPTS_app_voicemail
- EMBED_CDR                      MENUSELECT_EMBED


  CDR と ODBC に関係するオプションを有効化
# ./menuselect/menuselect    ¥
--enable app_cdr         ¥
--enable cdr_odbc        ¥
--enable cdr_csv         ¥
--enable func_cdr        ¥
--enable func_odbc       ¥
--enable res_odbc        ¥
menuselect.makeopts


  コンパイル&インストール
# make   dep
# make
# make  install
# make  samples
# make  config


自動起動設定
# chkconfig  asterisk  on

Asterisk初期設定
# cd  /etc/
# mv   asterisk  asterisk.org
# mkdir  asterisk
# cd  asterisk
# cp  -p  ../asterisk.org/modules.conf   .
# cp  -p  ../asterisk.org/rtp.conf      .

Asterisk接続設定(アジルフォン向け)
cat >  sip.conf
[general]
allowguest=no
maxexpirey=3600
defaultexpirey=3600
context=dialin
port=5060
bindaddr=0.0.0.0
srvlookup=yes
disallow=all
allow=ulaw
language=jp

register => user:pass@voip30xx.agile.ne.jp

[agile]
type=friend
username=user
secret=pass
host=voip30xx.agile.ne.jp
context=dialin
canreinvite=no
insecure=port,invite
disallow=all
allow=ulaw


Asterisk設定
cat  >  extensions.conf
[general]
writeprotect=no
priorityjumping=yes

[dialin]
exten => s,1,Set(DATE=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)})
exten => s,n,Monitor(wav49,${DATE}-in-${CALLERID(num)}-${EXTEN}-${UNIQUEID})
exten => s,n,Wait(10)
exten => s,n,Answer()
exten => s,n,SayDigits(${CALLERID(num)})
exten => s,n,Hangup

[default]
exten => _[01].,1,Set(DATE=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)})
exten => _[01].,n,Set(TO=${CUT(SIP_HEADER(To),<,1)})
exten => _[01].,n,Set(TO=${TO:1:$[${LEN(${TO})} - 2]})
exten => _[01].,n,Set(FROM=${CUT(SIP_HEADER(From),<,1)})
exten => _[01].,n,Set(FROM=${FROM:1:$[${LEN(${FROM})} - 2]})
exten => _[01].,n,Set(MON=${DATE}-out-${TO}-${FROM}-${UNIQUEID})
exten => _[01].,n,Monitor(wav49,${MON})
exten => _[01].,n,Dial(SIP/${EXTEN}@agile)
exten => _[01].,n,Hangup


  電話はすべて録音する設定になってます。
受電時には接続元の電話番号を自動でお知らせ(SayDigits)して切断(Hangup)します。



Asterisk起動
# asterisk  -vvvvvvvvvvvvvvvc
Asterisk 11.6.0, Copyright (C) 1999 - 2013 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.


Asterisk Ready.
*CLI>

アジルへの接続を確認
*CLI> sip  show  peers
Name/username             Host                                    Dyn Forcerport ACL Port     Status      Description   
agile/0000999999          999.999.999.999                                a             5060     OK (20 ms)                
1 sip peers [Monitored: 1 online, 0 offline Unmonitored: 0 online, 0 offline]

電話着信確認
== Using SIP RTP CoS mark 5
-- Executing [s@dialin:1] Set("SIP/agile-00000000", "DATE=20131030-000847") in new stack
-- Executing [s@dialin:2] Monitor("SIP/agile-00000000", "wav49,20131030-000847-in-09012345678-s-1383059327.0") in new stack
-- Executing [s@dialin:3] Wait("SIP/agile-00000000", "10") in new stack
-- Executing [s@dialin:4] Answer("SIP/agile-00000000", "") in new stack
-- Executing [s@dialin:5] SayDigits("SIP/agile-00000000", "09012345678") in new stack
-- <SIP/agile-00000000> Playing 'digits/0.gsm' (language 'jp')
> 0xb7420c78 -- Probation passed - setting RTP source address to 999.999.999.999:12884
-- <SIP/agile-00000000> Playing 'digits/9.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/0.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/1.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/2.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/3.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/4.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/5.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/6.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/7.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/8.gsm' (language 'jp')
-- Executing [s@dialin:6] Hangup("SIP/agile-00000000", "") in new stack
== Spawn extension (dialin, s, 6) exited non-zero on 'SIP/agile-00000000'

停止
*CLI> core  stop  now
Beginning asterisk shutdown....
Asterisk cleanly ending (0).
Executing last minute cleanups

通話録音確認
# ls  -l   /var/spool/asterisk/monitor/
-rw-r--r-- 1 root root 13710 10月 30 00:09 2013 20131030-000847-in-09012345678-s-1383059327.0-in.WAV
-rw-r--r-- 1 root root 13710 10月 30 00:09 2013 20131030-000847-in-09012345678-s-1383059327.0-out.WAV


  録音したファイルは送話(こっちが話した音)と受話(相手が話した音)を分けて保存してあります。
この方が音声解析とかして自動テキスト化もしやすいはずだしね。



6)Asterisk − CDR記録
CDRを記録するデータベースの作成
# mysql  -u  asterisk_user  -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or ¥g.
Your MySQL connection id is 13
Server version: 5.5.34 MySQL Community Server (GPL) by Remi


  Asterisk_CDR データベースに接続
mysql> use  asterisk_cdr;
Database changed


  CDR保存用テーブルの作成
mysql> 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 '',
`uniqueid`    VARCHAR(32)  NOT NULL DEFAULT '',
`linkedid`    VARCHAR(32)  NOT NULL DEFAULT '',
`sequence`    VARCHAR(32)  NOT NULL DEFAULT '',
`peeraccount` VARCHAR(32)  NOT NULL DEFAULT ''
);

mysql> ALTER TABLE `cdr` ADD INDEX ( `calldate` );
mysql> ALTER TABLE `cdr` ADD INDEX ( `dst` );
mysql> ALTER TABLE `cdr` ADD INDEX ( `accountcode` );
mysql> quit
Bye

Asterisk から ODBC への接続設定
# cd   /etc/asterisk
# cat  >  res_odbc.conf
[asterisk_res]
enabled     => yes
dsn         => asterisk-connector
username    => asterisk_user
password    => asterisk_pass
pre-connect => yes
limit       => 1
pooling     => no

CDR 設定(保険でCSVにも保存)
vi  cdr.conf
[general]
enable       = yes
unanswered   = yes
congestoin   = no
safeshutdown = yes

[csv]
usegmtime    = yes
loguniqueid  = yes
loguserfield = yes
accountlogs  = yes

CDR を ODBC 経由で保存するための設定
# cat  >  cdr_odbc.conf
[global]
dsn=asterisk_res
username=asterisk_user
password=asterisk_pass
loguniqueid=yes
dispositionstring=yes
table=cdr
usegmtime=yes

起動−CDR記録確認
# asterisk -vvvvvvvvvvvvvvvc


Asterisk Ready.
*CLI>

  ODBC設定確認
*CLI> odbc show all
ODBC DSN Settings
-----------------
Name:   asterisk_res
DSN:    asterisk-connector
Last connection attempt: 1970-01-01 09:00:00
Pooled: No
Connected: Yes

  CDR設定確認
*CLI> cdr show status
Call Detail Record (CDR) settings
----------------------------------
Logging:                    Enabled
Mode:                       Simple
Log unanswered calls:       Yes
Log congestion:             No

* Registered Backends
-------------------
cdr-custom
    ODBC
csv
Adaptive ODBC

電話着信確認
== Using SIP RTP CoS mark 5
-- Executing [s@dialin:1] Set("SIP/agile-00000000", "DATE=20131030-003620") in new stack
-- Executing [s@dialin:2] Monitor("SIP/agile-00000000", "wav49,20131030-003620-in-09012345678-s-1383060980.0") in new stack
-- Executing [s@dialin:3] Wait("SIP/agile-00000000", "10") in new stack
-- Executing [s@dialin:4] Answer("SIP/agile-00000000", "") in new stack
-- Executing [s@dialin:5] SayDigits("SIP/agile-00000000", "09012345678") in new stack
-- <SIP/agile-00000000> Playing 'digits/0.gsm' (language 'jp')
> 0xb730f948 -- Probation passed - setting RTP source address to 999.999.999.999:19416
-- <SIP/agile-00000000> Playing 'digits/9.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/0.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/1.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/2.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/3.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/4.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/5.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/6.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/7.gsm' (language 'jp')
-- <SIP/agile-00000000> Playing 'digits/8.gsm' (language 'jp')
-- Executing [s@dialin:6] Hangup("SIP/agile-00000000", "") in new stack
== Spawn extension (dialin, s, 6) exited non-zero on 'SIP/agile-00000000'

停止
*CLI> core stop now
Beginning asterisk shutdown....
Asterisk cleanly ending (0).
Executing last minute cleanups


CDRが記録されているかDB内容確認(ちゃんとグリニッジ標準時で記録されていること)
# mysql -u asterisk_user -p
Enter password:

mysql> connect  asterisk_cdr;

mysql> select  *  from  cdr;
+---------------------+-----------------------------+-------------+-----+----------+--------------------+------------+---------+----------+----------+---------+-------------+----------+-------------+-----------+--------------+----------+----------+-------------+
| calldate            | clid                        | src         | dst | dcontext | channel            | dstchannel | lastapp | lastdata | duration | billsec | disposition | amaflags | accountcode | userfield | uniqueid     | linkedid | sequence | peeraccount |
+---------------------+-----------------------------+-------------+-----+----------+--------------------+------------+---------+----------+----------+---------+-------------+----------+-------------+-----------+--------------+----------+----------+-------------+
| 2013-10-29 15:36:20 | "09012345678" <09012345678> | 09012345678 | s   | dialin   | SIP/agile-00000000 |            | Hangup  |          |       19 |       9 | ANSWERED    |        3 |             |           | 1383060980.0 |          |          |             |
+---------------------+-----------------------------+-------------+-----+----------+--------------------+------------+---------+----------+----------+---------+-------------+----------+-------------+-----------+--------------+----------+----------+-------------+
1 row in set (0.00 sec)


mysql> quit
Bye


CSVファイル内容確認(ちゃんとグリニッジ標準時で記録されていること)
# cat  /var/log/asterisk/cdr-csv/Master.csv
"","09012345678","s","dialin","""09012345678"" <09012345678>","SIP/agile-00000000","","Hangup","","2013-10-29 15:36:20","2013-10-29 15:36:30","2013-10-29 15:36:39",19,9,"ANSWERED","DOCUMENTATION","1383060980.0",""


自動起動の確認のために再起動
# sync
# sync
# reboot


再起動後のメモリ状況確認
free  -m
    total       used       free     shared    buffers     cached
Mem:          1893        134       1759          0          5         63
-/+ buffers/cache:         65       1828
Swap:         2047          0       2047


OS単体でのメモリ利用は 52MByte(26MByte)でしたが
MySQL と Asterisk 動作状態では 134MByte(65MByte)のようです。


再起動後のネットワーク利用状況確認
# netstat  -anp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      1161/mysqld
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      891/sshd
tcp        0     52 192.168.1.202:22            192.168.1.3:60171           ESTABLISHED 1282/sshd
udp        0      0 0.0.0.0:5060                0.0.0.0:*                               1236/asterisk
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING     6955   1/init              @/com/ubuntu/upstart
unix  2      [ ACC ]     STREAM     LISTENING     8321   1161/mysqld         /var/lib/mysql/mysql.sock
unix  2      [ ]         DGRAM                    7098   377/udevd           @/org/kernel/udev/udevd
unix  2      [ ACC ]     STREAM     LISTENING     8437   1236/asterisk       /var/run/asterisk/asterisk.ctl
unix  3      [ ]         STREAM     CONNECTED     8514   1161/mysqld         /var/lib/mysql/mysql.sock
unix  3      [ ]         STREAM     CONNECTED     8513   1236/asterisk
unix  3      [ ]         DGRAM                    7114   377/udevd
unix  3      [ ]         DGRAM                    7113   377/udevd

空いてるのは sshd の 22番と、MySQL の 3306、 Asterisk の 5060 ポートだけ♪



−−−−−−
以上
Asterisk の CDR を ODBC で MySQL に保存する手順でした 
 
まこ | Asterisk | 15:40 | comments(0) | trackbacks(0) |
スポンサーサイト
スポンサードリンク | - | 15:40 | - | - |
Comment









Trackback
URL: