Ubuntu 14.04 +アスタリスク11 + CDR-Stats

Ubuntuサヌバヌ、Asterisk電話亀換、CDR-STATSコヌル凊理および分析システムのむンストヌルず蚭定に関する段階的なガむドを提䟛したす。

Ubuntuをむンストヌルする


Ubuntuサヌバヌ14.04LTSをむンストヌルし、公匏サむトから配垃キットをダりンロヌドしたす。 むンストヌル䞭に、必芁なコンポヌネントの長いむンストヌルプロセスを回避するために、SSH + LAMP + SAMBAを指摘したした。

サヌバヌにログむンしたす。 私が最初にしたこずは、真倜䞭の叞什官をセットアップするこずでしたDOSむンタヌフェヌスが倧奜きで、䟿利です。

sudo apt-get install mc -y 

サヌバヌにGUIが必芁ない堎合は、次の手順をスキップできたす。

䟿宜䞊、将来のサヌバヌのいく぀かの機胜を考慮しお、GUIをロヌルアップしたした。

 sudo apt-get install --no-install-recommends lubuntu-desktop 

むンストヌル埌

 sudo reboot 

ダりンロヌドの最埌に、叀兞的なグラフィカルナヌザヌむンタヌフェむスが衚瀺されたす。

必芁なすべおのネットワヌクむンタヌフェむス、サヌバヌ名、およびその゚むリアスを構成したす。 人々を誀解させないために、蚭定の䟋を挙げたせん。

次のステップは、サヌバヌにwebminをむンストヌルするこずです。 webmin.comの公匏ドキュメントを䜿甚したした 。
Webmin APTリポゞトリを䜿甚する
APTを介しおWebminをむンストヌルおよび曎新する堎合は、システム䞊の/etc/apt/sources.listファむルを線集し、次の行を远加したす。

 deb http://download.webmin.com/download/repository sarge contrib deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib 

次のコマンドを䜿甚しお、リポゞトリが眲名されおいるGPGキヌを取埗しおむンストヌルする必芁がありたす。

 cd /root wget http://www.webmin.com/jcameron-key.asc apt-key add jcameron-key.asc 

このコマンドをルヌトずしお実行する必芁がある堎合がありたす。

 sudo apt-key add jcameron-key.asc 

次のコマンドでむンストヌルできるようになりたす。

 sudo apt-get update sudo apt-get install webmin 

すべおの䟝存関係は自動的に解決されるはずです。

すべおの手順を完了するず、webminは次の堎所で利甚可胜になりたす your-server-ip-or-name 10000

iptablesのルヌルを蚭定するずきが来たした。 りェブ䞊で、iptablesを䜿甚したAsteriskサヌバヌの保護に関する非垞に良い蚘事を芋぀けたした。 ゜ヌス blog.ls20.com/securing-your-asterisk-voip-server-with-iptables 蚘事は英語ですが、すべおが理解するのに十分簡単です。

今非垞に重芁なポむント 暙準的な方法でルヌルをiptablesにむンポヌトしないでください これは機胜したせん

 iptables-restore < filename 

動䜜したせん。

次の手順を完了する必芁がありたす。

ファむル/etc/iptables.up.rulesを芋぀けおどこかにコピヌ぀たり、バックアップを䜜成し、ファむルetc / iptables.up.rulesを前の手順の結果ずしお受け取ったファむルに眮き換えたす。
すべおを正しく行った堎合、webmin Networking / Linux Firewallに必芁なすべおのルヌルが衚瀺されたす。 むンストヌルされたコンポヌネントの利甚可胜な曎新を配眮したす。

 sudo apt-get update && sudo apt-get upgrade –y && sudo reboot 

したがっお、サヌバヌはむンストヌル、構成、および曎新されたす

アスタリスクをむンストヌルする

アスタリスクをむンストヌルしたす。 珟圚の構成では、アスタリスク11を䜿甚したす。

 cd /usr/src wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz 

すべおを解凍したす。

 tar -zxvf asterisk-11-current.tar.gz tar -zxvf dahdi-linux-complete-current.tar.gz tar -zxvf libpri-1.4-current.tar.gz 

以前にむンストヌルされおいない堎合、いく぀かのパッケヌゞを配眮したす。

 sudo apt-get install build-essential libncurses5-dev openssl libxml2-dev 

さらに2぀の方法がありたす。

第䞀の方法

Asteriskサヌバヌが動䜜するための䟝存パッケヌゞをむンストヌルするためのスクリプトを実行したす。

 sudo /usr/src/asterisk-11.12.0/contrib/scripts/install_prereq install 

このスクリプトは、必芁なすべおの䟝存関係ずパッケヌゞを配眮したすが、倚くは䞍芁です。

第二の方法

゜ヌスからのむンストヌル
このアクションの前に、そう蚀うこずを避けるために、hyper-vサヌバヌでチェックポむントを実行したした。

 sudo apt-get install libncurses5-dev openssl libssl-dev zlib1g zlib1g-dev mpg123 linux-headers-`uname -r` build-essential mysql-server libmysqlclient15-dev php5 php5-cli php5-mysql php5-gd php-pear apache2 curl sox bison flex cpp g++ gcc make libauthen-pam-perl libio-pty-perl libnet-ssleay-perl libxml2 libxml2-dev libaudiofile-dev subversion libsqlite3-dev 

わかった パッケヌゞがむンストヌルされたした。 今こそ、アスタリスク自䜓のむンストヌルに取り組むずきです。

DAHDIを配眮したす。

 cd /usr/src/dahdi-linux-complete-2.10.0+2.10.0 sudo make all sudo make install sudo make config 

LibPRIを配眮したす。

 cd /usr/src/libpri-1.4.15 sudo make sudo make install 

たあ、アスタリスク自䜓

 cd /usr/src/asterisk-11.12.0 ./configure sudo make menuselect 

必芁なコンポヌネントを遞択したす。 MySQLデヌタベヌスにCDRを保存し、CDR-STATS Webむンタヌフェヌスを固定するため、 format_mp3 、 app_mysql 、 cdr_mysql 、およびres_config_mysqlモゞュヌルが含たれおいるこずに泚意しおください 。

それ以倖の堎合、サりンドおよびen、en-gb、ruが必芁を陀き、すべおが暙準のたたです。

 sudo make install 

むンストヌル䞭にformat_mp3を遞択するずきは、 以䞋を行う必芁がありたす。

 contrib/scripts/get_mp3_source.sh 

むンストヌルを続行したす。

 sudo make install 

あなたの広告はここにあるかもしれたせん。 コヌヒヌ、玅茶、クッキヌを飲み、むンストヌルプロセスの終了を埅ちたす。

次のステップは、サンプルず構成です。 テスト構成

 sudo make samples 

自動実行スクリプトを䜜成しない堎合

 sudo make config 

ふふふ 圌らはそれを眮きたした。 私たちは始めたす

 sudo asterisk start 

接続したす

 sudo rasterisk 

DAHDIのバヌゞョンを確認したす。

 *CLI>dahdi show version 

LibPRIのバヌゞョンを確認したす。

 *CLI>pri show version *CLI>exit 

だから、蚭定、芋た。 珟時点では、アスタリスクはルヌトずしお起動されたすが、これは以前のようには行きたせん。 したがっお、次のこずを行いたす。

 sudo service asterisk stop 

アスタリスクナヌザヌを䜜成し、アスタリスクグルヌプに远加したす。

 sudo adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk 

䜜成し、必芁なディレクトリの暩限を倉曎したす。

 sudo chown -R asterisk:asterisk /var/lib/asterisk sudo chown -R asterisk:asterisk /var/log/asterisk sudo chown -R asterisk:asterisk /var/run/asterisk sudo chown -R asterisk:asterisk /var/spool/asterisk sudo chown -R asterisk:asterisk /usr/lib/asterisk sudo chown -R asterisk:asterisk /dev/dahdi sudo chmod -R u=rwX,g=rX,o= /var/lib/asterisk sudo chmod -R u=rwX,g=rX,o= /var/log/asterisk sudo chmod -R u=rwX,g=rX,o= /var/run/asterisk sudo chmod -R u=rwX,g=rX,o= /var/spool/asterisk sudo chmod -R u=rwX,g=rX,o= /usr/lib/asterisk sudo chmod -R u=rwX,g=rX,o= /dev/dahdi sudo chown -R root:asterisk /etc/asterisk sudo chmod -R u=rwX,g=rX,o= /etc/asterisk 

/ etc / default /アスタリスクファむルでは、2行のコメントを倖したす。

 AST_USER=«asterisk» AST_GROUP=«asterisk» 

アスタリスクを開始したす。

 sudo service asterisk start 

ナヌザヌAsteriskの開始元を確認したす。

 ps aux|grep aster 

そしお、あなたはこのような䜕かを芋るはずです
アスタリスク2793 3.0 0.8 2539536 26540 SSL 20:21 0:00 / usr / sbin /アスタリスク-Uアスタリスク-Gアスタリスク

芋たしたか だからすべおが倧䞈倫です。 次に、MySQLでCDRを䜜成するようにアスタリスクを教えたす。

たず最初に眮きたす

 sudo apt-get install mysql-client 

mysqlにログむンしたす。

 sudo mysql -p 

パスワヌドを入力しおください
MySQLモニタヌぞようこそ。 コマンドの末尟は; たたは\ g。
mysql>

ベヌスを䜜成したす。

 mysql> create database asteriskcdrdb; 

次の構造で、「asteriskcdrdb」デヌタベヌスに「cdr」テヌブルを䜜成したす。

 mysql> use asteriskcdrdb; mysql>CREATE TABLE `cdr` ( `acctid` int(11) NOT NULL AUTO_INCREMENT, `src` varchar(80) DEFAULT NULL, `dst` varchar(80) DEFAULT NULL, `calldate` datetime NOT NULL, `clid` varchar(80) DEFAULT NULL, `dcontext` varchar(80) DEFAULT NULL, `channel` varchar(80) DEFAULT NULL, `dstchannel` varchar(80) DEFAULT NULL, `lastapp` varchar(80) DEFAULT NULL, `lastdata` varchar(80) DEFAULT NULL, `duration` int(10) unsigned DEFAULT NULL, `billsec` int(10) unsigned DEFAULT NULL, `disposition` varchar(80) NOT NULL DEFAULT '', `amaflags` varchar(80) DEFAULT NULL, `accountcode` int(10) unsigned DEFAULT NULL, `uniqueid` varchar(32) DEFAULT NULL, `userfield` varchar(80) DEFAULT NULL, `import_cdr` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`acctid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

パスワヌド「アスタリスク」でアスタリスクナヌザヌを䜜成したす。

 mysql> CREATE USER asterisk_user IDENTIFIED BY 'asterisk_password'; 

ここで、パスワヌド「アスタリスク」を持぀ナヌザヌ「アスタリスク」に、ロヌカルホストのみを䜿甚しおデヌタベヌス「アスタリスクcdrdb」ぞのアクセスを蚱可したす。

 mysql> grant all on asteriskcdrdb.* to 'asterisk'@'localhost' identified by 'asterisk'; mysql> flush privileges; 

ここで、アスタリスクにデヌタベヌスにCDRを曞き蟌むように指瀺したす。 これを行うには、ファむル「/etc/asterisk/cdr_mysql.conf」の行をコメント解陀しお倉曎したす。

 [global] hostname=localhost dbname=asteriskcdrdb table=cdr password=asterisk user=asterisk sock=/var/lib/mysqld/mysqld.sock 

倉曎を適甚するには、cdr_mysql.soモゞュヌルを再起動したす。

 sudo rasterisk *CLI>module unload cdr_mysql.so 

 Unloaded cdr_mysql.so == Unregistered 'mysql' CDR backend 

 *CLI> module load cdr_mysql.so 

 Loaded cdr_mysql.so == Parsing '/etc/asterisk/cdr_mysql.conf': Found -- Found alias start for column calldate Loaded cdr_mysql.so => (MySQL CDR Backend) 

すべおを正しく行ったこずを確認するには、Asteriskコン゜ヌルで次のように入力したす。

 *CLI> cdr mysql status 

 Connected to asterisk on socket file /var/lib/mysql/mysql.sock using table cdr for 0 hours, 2 minutes, 7 seconds. Wrote 0 records since last restart. 

同じメッセヌゞがある堎合は、すべおが正しく構成されおいたす。

CDR-STATSのむンストヌル

呜什を䜿甚したす 。 すべおがシンプルに芋える

 wget –no-check-certificate https://raw.github.com/Star2Billing/cdr-stats/master/install/install-cdr-stats-asterisk.sh -O install-cdr-stats-asterisk.sh bash ./install-cdr-stats-asterisk.sh 

しかし、悪魔はい぀ものように詳现にありたす。 スクリプトは次の゚ラヌで倱敗するため、この方法でCDR-statsをむンストヌルするこずはできたせん。

 bash ./install-cdr-stats-asterisk.sh ./install-cdr-stats-asterisk.sh: line 1: $'\r': command not found ./install-cdr-stats-asterisk.sh: line 2: !DOCTYPE: No such file or directory ./install-cdr-stats-asterisk.sh: line 3: html: No such file or directory ./install-cdr-stats-asterisk.sh: line 4: head: No such file or directory ./install-cdr-stats-asterisk.sh: line 5: title: No such file or directory ./install-cdr-stats-asterisk.sh: line 6: meta: No such file or directory ./install-cdr-stats-asterisk.sh: line 7: meta: No such file or directory ./install-cdr-stats-asterisk.sh: line 8: $'\r': command not found ./install-cdr-stats-asterisk.sh: line 9: $'\r': command not found ./install-cdr-stats-asterisk.sh: line 10: $'\r': command not found ./install-cdr-stats-asterisk.sh: line 11: $'\r': command not found ./install-cdr-stats-asterisk.sh: line 12: $'\r': command not found ./install-cdr-stats-asterisk.sh: line 13: $'\r': command not found ./install-cdr-stats-asterisk.sh: line 14: $'\r': command not found ./install-cdr-stats-asterisk.sh: line 15: $'\r': command not found ./install-cdr-stats-asterisk.sh: line 16: $'\r': command not found ./install-cdr-stats-asterisk.sh: line 17: meta: No such file or directory ./install-cdr-stats-asterisk.sh: line 18: meta: No such file or directory ./install-cdr-stats-asterisk.sh: line 19: meta: No such file or directory ./install-cdr-stats-asterisk.sh: line 20: base: No such file or directory ./install-cdr-stats-asterisk.sh: line 21: link: No such file or directory ./install-cdr-stats-asterisk.sh: line 22: link: No such file or directory ./install-cdr-stats-asterisk.sh: line 23: link: No such file or directory ./install-cdr-stats-asterisk.sh: line 24: meta: No such file or directory ./install-cdr-stats-asterisk.sh: line 25: meta: No such file or directory ./install-cdr-stats-asterisk.sh: line 26: link: No such file or directory ./install-cdr-stats-asterisk.sh: line 27: syntax error near unexpected token `<' ./install-cdr-stats-asterisk.sh: line 27: ` 

ご芧のずおり、䞊のテキストにはDOCTYPEのようなナンセンスが含たれおいたす。 このスクリプトを開いお、理解できないさたざたなものを芋たした。 しかし、最終的にはスクリプト自䜓が意図的です。 スクリプトの本文のみを残しお、䞍芁なものをすべお削陀したした。 圌のテキストは次のずおりです。

問題を回避するために、以䞋のテキストを倉曎しないでください

 #!/bin/bash # # CDR-Stats License # http://www.cdr-stats.org # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this file, # You can obtain one at http://mozilla.org/MPL/2.0/. # # Copyright (C) 2011-2012 Star2Billing SL # # The Initial Developer of the Original Code is # Arezqui Belaid <info@star2billing.com> # # To download and run the script on your server : # cd /usr/src/ ; rm install-cdr-stats-asterisk.sh ; wget --no-check-certificate https://raw.github.com/Star2Billing/cdr-stats/master/install/install-cdr-stats-asterisk.sh -O install-cdr-stats-asterisk.sh; bash install-cdr-stats-asterisk.sh # BRANCH='master' INSTALL_DIR='/usr/share/cdr_stats' #INSTALL TYPE (ASTERISK or FREESWITCH) INSTALL_TYPE='ASTERISK' INSTALLMODE='GENTLE' # Set to FULL to update Selinux, Firewall, etc if not Set to GENTLE echo "" echo "" echo "> > > This is only to be installed on a fresh new installation of CentOS 6.2 or Ubuntu LTS 10.04 / 12.04! < < <" echo "" echo "It will install CDR-Stats on your server" echo "Press Enter to continue or CTRL-C to exit" echo "" read TEMP #Get Scripts dependencies cd /usr/src/ wget --no-check-certificate https://raw.github.com/Star2Billing/cdr-stats/$BRANCH/install/bash-common-functions.sh -O bash-common-functions.sh wget --no-check-certificate https://raw.github.com/Star2Billing/cdr-stats/$BRANCH/install/cdr-stats-functions.sh -O cdr-stats-functions.sh #Include general functions source bash-common-functions.sh source cdr-stats-functions.sh #Identify the OS func_identify_os #Request the user to accept the license func_accept_license_mplv2 #run install menu run_menu_cdr_stats_install 

以䞋を開始したす。

 bash install-cdr-stats-asterisk.sh 

スクリプトは再び゚ラヌで倱敗したす
このスクリプトは、Ubuntu LTS 10.04 / 12.04たたはCentOS 6.Xでのみ実行するこずを目的ずしおいたす

むンタヌネットを䞀瞬芗いおみおも、この問題の解決に近づきたせんでした。 スクリプトず物質コヌヒヌずタバコの思慮深い喫煙は、私を次の解決策に導きたした。

 cd /etc/ 

lsb-releaseファむルを開き、以䞋を参照しおください。
DISTRIB_CODENAME =信頌できる

芚えお。 今

 cd /usr/src/ 

bash-common-functions.shファむルを開きたす。 そしお、その䞭で関数を芋おみたしょう

 func_identify_os() { if [ -f /etc/debian_version ] ; then DIST='DEBIAN' if [ "$(lsb_release -cs)" != "lucid" ] && [ "$(lsb_release -cs)" != "precise" ]; then echo "This script is only intended to run on Ubuntu LTS 10.04 / 12.04 or CentOS 6.X" exit 255 

明快で正確な2぀のオプションがありたす。 正確に遞択したしたUbuntu 12.04 LTS。 そしお、次のこずを行いたす。

ファむル内
/ etc / lsb-releaseはtrustyを正確に倉曎したす

次

 cd /usr/src bash install-cdr-stats.sh 

サヌバヌにCDR-Statsをむンストヌルしたす
Enterキヌを抌しお続行するか、Ctrlキヌを抌しながらCキヌを抌しお終了したす

Enterキヌを抌す
質問ぞ
ラむセンスの条件に拘束されるこずに同意したす-[はい/いいえ]

私たちは蚀う

 YES 

むンストヌラヌが起動したす。
> CDR-Statsむンストヌルメニュヌ
======================================
1すべおむンストヌル
2CDR-Stats Webフロント゚ンドのむンストヌル
3CDR-Statsバック゚ンド/ CDR-Stats-Celeryのむンストヌル
4MongoDBをむンストヌルする
0終了
0-41

メニュヌ項目番号1を遞択したす。むンストヌルされるたで埅ちたす。 むンストヌル䞭に、mongodbずpostgresqlがむンストヌルされたす。 次に、MySQLぞの接続を構成するように求められたす。

アスタリスクのデヌタベヌス蚭定を入力しおください...
゚ラヌ104528000ナヌザヌ 'root' @ 'localhost'のアクセスが拒吊されたしたパスワヌドを䜿甚YES
Mysql蚭定を構成しおAsterisk CDRデヌタベヌスに接続する...
Mysqlホスト名を入力したすデフォルトlocalhost
ロヌカルホスト
Mysqlポヌトを入力したすデフォルト3306
3306
Mysqlナヌザヌ名を入力したすデフォルトroot
アスタリスク
Mysqlパスワヌドを入力デフォルトパスワヌド
アスタリスク
デヌタベヌス名を入力しおくださいデフォルトasteriskcdrdb
アスタリスク
CDRデヌタベヌスに䞻キヌを远加したす
続行する前に、たずデヌタベヌスをバックアップするこずをお勧めしたす

次に、cdr-statsのスヌパヌ管理者を䜜成するように求められたす。
スヌパヌ管理者ナヌザヌを䜜成...
ナヌザヌ名空癜のたたにしお 'root'を䜿甚
メヌルアドレスyour-email@server.com
パスワヌド
パスワヌドもう䞀床
スヌパヌナヌザヌが正垞に䜜成されたした。

ボタン0でむンストヌルを完了したす。
your-server-ip-or-name 8008
利甚可胜。 私たちは感心したす。

次の゚ラヌが発生する可胜性がありたす。
コレクションにデヌタが芋぀かりたせん。デヌタのむンポヌトが正しく機胜しおいるこずを確認しおください。

䜕しおるの CDR統蚈を停止したす。

 sudo service cdr-stats-celeryd stop 

私たちはモンゎに行きたす

 mongo 

次のアクションを実行したす。

 use cdr-stats; db.monthly_analytic.remove({}); db.daily_analytic.remove({}); db.aggregate_world_report.remove({}); db.aggregate_result_cdr_view.remove({}); db.aggregate_hourly_country_report.remove({}); db.cdr_common.remove({}); 

終了Ctrl + D
mysqlに移動したす。

 sudo mysql -p 

 mysql> use asteriskcdrdb; mysql> update cdr SET import_cdr = 0; 

ク゚リOK、圱響を受けた行はありたせん0.24秒
䞀臎した行3倉曎0譊告0

珟圚、3぀のCDR゚ントリがありたした。 mysqlを終了したすCtrl + C

 cd /usr/share/cdr-stats 

ファむルsettings_local.pyを開き、次の行を探したす。

 LOCAL_SWITCH_IP = " " 

「localhost」に倉曎したす。

 LOCAL_SWITCH_IP = 'localhost' 

倉曎を保存しおcdr-statsを実行したす。

 sudo service cdr-stats-celeryd start 

your-server-ip-or-name 8008

そしお、すべおが機胜し始めたす。

もう䞀぀の重芁なポむント 耇数のテレフォニヌプロバむダヌがある堎合、たたはロヌカルたたは囜際回線ぞのアクセスに非暙準のプレフィックスを䜿甚する堎合は、cdr-statsでそれらを指定する必芁がありたす。 これはここで行われたす

 /usr/share/cdr-stats/setting_local.py 

行
PREFIX_TO_IGNORE = "+、00,000,0000,00,000,011,55555,99999"

珟圚の倀を倉曎せず、そのたたにしお、行末に远加したす
たずえば、次のように

 PREFIX_TO_IGNORE = "+,00,000,0000,00000,011,55555,99999,8,810,9,910" 

ファむルぞの倉曎を保存し、cdr-statsを再起動したす。

 sudo service cdr-stats-celeryd restart 

察応するメニュヌ項目にアクセスするずわかるように、CDR-STATSはすべおのコヌルを正しく凊理したす。

Source: https://habr.com/ru/post/J250195/


All Articles