1. 程式人生 > >CentOS6.5搭建asterisk及配置軟電話

CentOS6.5搭建asterisk及配置軟電話

最近需要搭建asterisk開源專案模擬語音通話,瀏覽了比較多的部落格文章,然後歸納加工,實測可以成功搭建,希望能幫到有需要的人。

這些命令假設你已經按照“作業系統安裝”一節的內容把作業系統安裝好了。

一、asterisk安裝和配置

1. 執行系統更新並重啟

CentOS:

yum update -y && reboot

CentOS 64-bit:

yum remove *.i386 && yum update -y && reboot

Ubuntu:

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

2. 同步時間,並且安裝網路時間協議(NTP)伺服器:

CentOS:

yum install -y ntp && ntpdate pool.ntp.org && chkconfig ntpd on && service ntpd start

CentOS 64-bit:

yum install -y ntp && ntpdate pool.ntp.org && chkconfig ntpd on && service
ntpd start

Ubuntu:

sudo apt-get install ntp

Ubuntu還需要一些額外的配置,見“啟用NTP精確系統時間”。

3. (只對CentOS)新增一個新的系統使用者

CentOS (32 and 64 bit):

adduser asteriskpbx && passwd asteriskpbx && yum install sudo && visudo

把以下的註釋取消掉

## Allows people in group wheel to run all commands

%wheel ALL
=(ALL) ALL

vi /etc/group

更改以下資料

wheel:x:10:root,asteriskpbx

更改asteriskpbx使用者,後續未說明都用此使用者

su – asteriskpbx

sudo ls /root/

檢視是否能看到 /root 目錄下的檔案,若有,則成功。若無,請重新檢視以上步驟

詳見“新增系統使用者”。 對Ubuntu來說,我們假設在安裝過程中建立的使用者是asteriskpbx。

4. 安裝依賴軟體包

CentOS:

sudo yum install gcc gcc-c++ make wget subversion libxml2-devel ncurses-devel openssl-devel vim-enhanced

CentOS 64-bit:

sudo yum install gcc.x86_64 gcc-c++.x86_64 make.x86_64 wget.x86_64 subversion.x86_64 libxml2-devel.x86_64 ncurses-devel.x86_64 openssl-devel.x86_64 vim-enhanced.x86_64

Ubuntu:

sudo apt-get install build-essential subversion libncurses5-dev libssl-dev libxml2-dev vim-nox

5、建立asterisk目錄,使用svn下載

mkdir -p ~/src/asterisk-complete/asterisk

cd ~/src/asterisk-complete/asterisk

svn co http://svn.asterisk.org/svn/asterisk/branches/1.8

6、建立libpri目錄,使用svn下載並安裝

cd ~/src/asterisk-complete/

mkdir libpri

cd libpri/

svn co http://svn.asterisk.org/svn/libpri/tags/1.4.8

cd 1.4.8

make

sudo make install

(此處,如果make報致命錯誤,可能是centos版本太高階,或者libpri版本太高階,請按照該教程安裝centos版本和libpr版本)

7、檢查升級核心版本(此處操作過程出現錯誤)

sudo yum install kernel-devel-`uname -r`

8、編譯安裝tags

cd ~/src/asterisk-complete/

mkdir dahdi

cd dahdi/

svn co http://svn.asterisk.org/svn/dahdi/linux-complete/tags/2.4.0+2.4.0

cd 2.4.0+2.4.0

make

sudo make install

sudo make config

(此處,如果make報致命錯誤,可能是centos版本太高階,或者dahdi版本太高階,請按照該教程安裝centos版本和dahdi版本)

9、編譯安裝

cd~/src/asterisk-complete/asterisk/1.8

./configure

make

sudo make install

sudo make config

10、額外步驟(安裝選單選擇menuselect),不強制要求,可跳過此步驟(已跳過)

sudo yum installlibnewt-devel  (這個安裝notavailable 貌似不影響以下步驟)

cd~/src/asterisk-complete/asterisk/1.8

cd menuselect

make clean

./configure

cd ..

make menuselect

用下箭頭選擇 Core Sound Packages,右箭頭進入,空格鍵選擇CORE-SOUNDS-EN-WAVandCORE-SOUNDS-EN-ALAW。左箭頭離開,下箭頭選擇Extra Sound Packages,右箭頭進入,空格鍵選擇WAV, ULAW,and ALAW 格式,按x儲存離開。

sudo make install

sudo chown -R asteriskpbx:asteriskpbx /var/lib/asterisk/sounds/

檔案會下載並且安裝到合適的位置(/var/lib/asterisk/sounds//by default)

11、設定檔案許可權

sudo chown -R asteriskpbx:asteriskpbx/usr/lib/asterisk/

sudo chown -Rasteriskpbx:asteriskpbx /var/lib/asterisk/

sudo chown -Rasteriskpbx:asteriskpbx /var/spool/asterisk/

sudo chown -Rasteriskpbx:asteriskpbx /var/log/asterisk/

sudo chown -Rasteriskpbx:asteriskpbx /var/run/asterisk

sudo chownasteriskpbx:asteriskpbx /usr/sbin/asterisk

vi /etc/udev/rules.d/dahdi.rules

將檔案最後一行改成

SUBSYSTEM=="dahdi",OWNER="asteriskpbx", GROUP="asteriskpbx",MODE="0660"

12、更改root許可權,關閉SELinux

sudo echo 0 > /selinux/enforce    (sudo echo 1 >/selinux/enforce 重新開啟)

cd /etc/selinux/

sudo vim config

把SELINUX選項改成disabled

SELINUX=disabled

重啟

sudo reboot

13、初始化配置

sudo mkdir /etc/asterisk/

sudo chown asteriskpbx:asteriskpbx/etc/asterisk/

14、備份配置檔案

cp ~/src/asterisk-complete/asterisk/1.8/configs/indications.conf.sample /etc/asterisk/indications.conf

cp ~/src/asterisk-complete/asterisk/1.8/configs/asterisk.conf.sample /etc/asterisk/asterisk.conf

vim /etc/asterisk/asterisk.conf

將資料更改成以下

runuser=asteriskpbx

rungroup=asteriskpbx

15、開啟asterisk終端

/usr/sbin/asterisk start

使用上面的命令提示使用:asterisk -r 進行連線

*CLI>module show

Module      Description      Use Count

0                modules                    loaded

*CLI>core stop now

16、新建並編輯modules.conf配置檔案內容

cat >>/etc/asterisk/modules.conf

; The modules.conf file, used to define which modules Asterisk shouldload (or

; not load).

;

[modules]

autoload=yes

17、新建並編輯musiconhold.conf配置檔案內容

cd /etc/asterisk/

cat >> musiconhold.conf

; musiconhold.conf

[default]

mode=files

directory=moh

二、音樂格式轉換

1、 安裝rpmforge repository

rpm –Uhv apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-1.el6.rf.x86_64.rpm

yum install yum-priorities

yum install mpg123

2、格式轉換

上傳apologize.mp3到/tmp目錄下

cd /tmp

mpg123 -w apologize.wav apologize.mp3

sox apologize.wav -t raw -r 8000 -s -c 1 apologize.sln   

(asterisk文件中–w是無法進行的,上網沒查到,所以去掉,對音樂播放不影響)

三、IP電話安裝

1、 PC端Sip軟體電話(X-lite或eysbeam)(注意PC端要插入耳機和話筒,不然沒法撥號)

① 設定sip.conf

vim /etc/asterisk/sip.conf

[general]                             

context  = default               

srvlookup= yes                   

[111]

secret=aaa                       

port=5060                         

type=friend                        

host=dynamic                   

qualify =yes                     

nat =no                            

context =internal             

canreinvite= no               



[222]

secret=aaa

port=5060

qualify =yes

nat = no

context =internal

canreinvite= no

type=friend

host=dynamic

②設定extensions.conf

[internal]                                       

exten => 1001,1, playback(/tmp/apologize)

exten => 1002,1,playback(/tmp/apologize)

playback表示播放/tmp/apologize這首歌曲

③  設定eyebeam或X-lite(參考上面連結)

或者配置電話接通:

[internal]                                              //這裡的internal和sip.conf裡的context相同,可修改
exten => 1001,1,Dial(SIP/111)
exten => 1002,1,Dial(SIP/222)

2、 公司IP電話

配置檔案同上

①將IP電話連線PC主機和網路介面

② 選擇IP電話(硬體)的√ 可以檢視IP電話的IP地址

③ 根據IP地址登入web,預設賬號密碼admin

④ 選擇account,介面輸入請參考PC端Sip軟體電話連線

3、開啟asterisk並撥打IP電話測試

/usr/sbin/asterisk -cvvv

若提示已經在跑,輸入asterisk –r

若提示檔案不存在,先輸入asterisk跑一次,再輸入asterisk –r即可。

IP電話撥打號碼,這裡是撥打1001或1002,將會聽到apologize這首歌曲。

4.X-lite電話配置

點選軟體上方三角形ShowMenu,再點開SIP Account Settings,設定新賬戶

使用者名稱和密碼根據上面的配置檔案設定保持一致,域名地址為伺服器地址,需要加上埠號,配置檔案中設定埠號為5060,儲存成功後,如果能夠連線上就會在伺服器有顯示如下:

  -- Registered SIP '111' at 192.168.1.145:22582
    -- Unregistered SIP '111'
    -- Registered SIP '111' at 192.168.1.145:43620
    -- Unregistered SIP '111'
    -- Registered SIP '111' at 192.168.1.145:11484
    -- Unregistered SIP '111'
    -- Registered SIP '111' at 192.168.1.145:17486
    -- Unregistered SIP '111'
    -- Registered SIP '111' at 192.168.1.145:3102
    -- Registered SIP '222' at 192.168.1.112:54070
    -- Unregistered SIP '111'
    -- Registered SIP '111' at 192.168.1.145:33024
    -- Unregistered SIP '222'

注:如果extensions.conf被重新編寫了 一定要記得在CLI那裡reload一下,
重新編寫sip.conf就sip reload。

附:asterisk 常用指令操作:

  1. 執行除錯常用命令

./asterisk & 在後臺啟動asterisk

./asterisk –vvvc 啟動asterisk並儘量多的在控制檯顯示除錯資訊

./asterisk –r 連線asterisk控制檯

set verbose 9999 設定列印詳細資訊

2.asterisk控制檯下常用命令

sip reload 重新載入sip配置資訊

sip set debug 設定顯示更多的sip資訊

sip set debug off關閉顯示更多的sip資訊

sip show channels 顯示所有活動的SIP通道

sip show peers 顯示所有已定義的SIP peer

dialplan show 顯示撥號方案

dialplan reload重新載入撥打方案

stop gracefully 優雅地停止asterisk

stop now 立即停止執行asterisk

module show 顯示所有已載入模組

module loadcdr_radius.so 載入模組cdr_radius.so

module reload cdr_radius.so 重新載入模組cdr_radius.so

module unload cdr_radius.so 解除安裝模組cdr_radius.so

core show applications 顯示所有的應用,比如Dial, Radius, Hangup,Answer等

core show channels 顯示所有的通話頻道

core show codecs 顯示所有支援的編解碼器

core show functions 顯示所有的功能函式

在asterisk原始碼目錄下執行makemenuselect可以進入模組選擇頁面,在裡面可以選擇和去除一些模組。

看完這些目錄之後,對其大體的功能也可能會有點認識,還是從啟動伺服器還是聊起。啟動伺服器方法很多,我們按照手冊中的描述選取一種

Asterisk –cvvvv 具體引數含義請參考手冊

也可以通過執行 /usr/sbin/safe_asterisk 來執行。

我們下文的描述就會基於這個簡單的拓撲展開討論,這兒的tel都是sip電話,我們假定tel1號碼為808,tel2號碼為830,現在的簡單需求就是我808能夠打通830,實現雙向通話。開始配置前,先了解主要配置檔案的作用。

/etc/asterisk/asterisk.conf  主要配置檔案,

/etc/zaptel.conf  硬體介面的基本層.    修改這個配置檔案要用modprobe裝載LinuxKernel使用模組.

/etc/asterisk/zapata.conf  為硬體配置Asterisk的介面.

/etc/asterisk/extensions.conf  撥號方案.

/etc/asterisk/sip.conf  SIP協議配置檔案

/etc/asterisk/iax.conf  呼入和撥出IAX通道

/etc/asterisk/extensions.conf  撥號方案配置檔案

/etc/asterisk/moduprobe.conf  載入模組配置檔案

相關推薦

CentOS6.5搭建asterisk配置電話

最近需要搭建asterisk開源專案模擬語音通話,瀏覽了比較多的部落格文章,然後歸納加工,實測可以成功搭建,希望能幫到有需要的人。 這些命令假設你已經按照“作業系統安裝”一節的內容把作業系統安裝好了。 一、asterisk安裝和配置 1. 執行系統

CentOS6.5搭建ldappdc的過程

fig color info migrate vim 成功 com 分享圖片 數據庫 linux centos6.5,,配置的是本地yum,采用光盤自帶的rpm包進行安裝 安裝openldap server 以及client 1 yum install openlda

centos6.7搭建lnmp配置

nginx 1.8 mysql 5.6 php 5.4 安裝lnmp 這裡預設nginx是1.6 所以還要升級nginx1.8centos安裝配置nginx1.8 然後遇到一個問題 啟動nginx伺服器時 報錯 address alread

CentOS6.5Asterisk 的安裝、配置 2個電話實現互撥

[general]                              //類似與全域性變數 context  = default                 srvlookup = yes                   //DNS SRV記錄查詢 [111] secret=aaa      

從零開始搭建系統2.5——Apollo安裝配置

logs OS get html .cn apol blog class AR 從零開始搭建系統2.5——Apollo安裝及配置從零開始搭建系統2.5——Apollo安裝及配置

從零開始搭建系統1.5——Redis安裝配置

系統 htm div .com blank target enc 1.5 www. 從零開始搭建系統1.5——Redis安裝及配置從零開始搭建系統1.5——Redis安裝及配置

Centos6.5搭建LDAP伺服器使用者新增刪除

學習搭建LDAP使用者認證管理伺服器。前面章節介紹安裝,後面介紹ldap使用命令列新增使用者。 環境準備 兩臺虛擬機器 node01 IP:192.168.242.100 server端 node02 IP:192.168.242.13

Centos6.5搭建vsftpd,並配置使用者和密碼登入

1)安裝vsftpd yum install vsftpd 2)配置vsftpd配置檔案      vi /etc/vsftpd/vsftpd.conf      =》禁止匿名訪問        

Centos6.5搭建LAMP

搭建lamp環境1.首先安裝apache可以直接yum安裝apache命令:yum install httpd //根據提示,輸入Y安裝即可成功安裝。2.設置系統讓 Apache 開機自動啟動。service httpd start //啟動Apachechkconfig httpd on //設置開機自啟3

Centos6.5搭建LNMP

lnmp環境1.編輯iptables策略vi /etc/sysconfig/iptables添加下面兩條參數-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT-A INPUT -m state --state NEW -m tcp

Centos6.5搭建FTP

ftp1. 查看是否安裝vsftpd [[email protected]/* */ ~]# rpm -q vsftpdpackage vsftpd is not installed 表示沒有安裝vsftpd-2.2.2-24.el6.x86_64 已安裝2.安裝vsftp[[e

CentOS6.5搭建NFS服務器

CentOS6.5 NFS1、首先檢查系統是否安裝了所需的安裝包(nfs-utils、rpcbind): [root@v1 ~]# rpm -qa | grep rpcbind rpcbind-0.2.0-11.el6.x86_64 [root@v1 ~]# rpm -qa | grep n

centos6.5搭建nginx

onf lib fix IT .gz amp entos net cal 系統環境:centos6.5 安裝前置環境: yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

Centos6.5搭建郵件服務器(Postfix+Dovecot )

Linux Centos6.5 Postfix Dovecot 參考博文:http://blog.jjonline.cn/linux/185.html http://blog.51cto.com/11038104/1916669第一步、關閉iptables、selinux /et

redis---在CentOS6.5下安裝與配置

eas 相關 var 可選 tro rip 持久 exec TP 本文詳細介紹redis單機單實例安裝與配置,服務及開機自啟動。如有不對的地方,歡迎大家拍磚o(∩_∩)o (以下配置基於CentOS release 6.5 Final, redis版本3.0.2 [redi

CentOS6.5的安裝忘記root密碼的措施

啟動 網頁 智能化 car b- host 過多 int 上網 CentOS6.5的安裝及忘記root密碼的措施 VMware虛擬機的配置 1.文件->新建->自定義->下一步 2.選擇稍後安裝操作系統 我們將采用自定義安裝,杜絕VMware的一鍵安

虛擬機CentOS6.5搭建samba服務器實現文件共享

服務 http 窗口 sea set AS IT div 關閉 Samba是SMB的一種實現方法,主要用來實現Linux系統的文件和打印服務。Linux用戶通過配置使用Samba服務器可以實現與Windows用戶的資源共享;而守護進程smbd和nmbd是Samba的核心,在

centos6.5安裝kvm vnc圖形化連接遇到的問題

KVMcentos 6.5 查看是否支持虛擬化:egrep ‘vmx|svm‘ /proc/cpuinfo,如果什麽都沒有返回信息,那麽就是要進行配置支持虛擬化了 安裝KVM虛擬機yum install qemu-kvm qemu-kvm-tools virt-manager libvirt -y-----

Centos6.5 搭建LAMP環境

oot 問題 操作系統 apache 註銷 mysqld 保存 內容管理系統 直接 1.Centos6.5 處於對安全的考慮,嚴格控制網絡的進去。所以安裝 Apache 或 MySQL 的時候,需要開放 80 或 3306 端口 首先,執行如下命令查看當前防火墻開放了哪些

Centos6.5搭建sftp伺服器

Centos6.5搭建sftp伺服器 SFTP,即 SSH 檔案傳輸協議( SSH File Transfer Protocol ),或者說是安全檔案傳輸協議( Secure File Transfer Protocol )。SFTP 是一個獨立的 SSH 封裝協議包,通過安全連線以相似