# cd /home
# tar zxvf git-1.8.1.5.tar.gz
# cd git-1.8.1.5
下面編譯安裝:
# make prefix=/usr/local install
二進位制檔案會被安裝到/usr/local/bin目錄裡;
系統上已經安裝過git的,此步可以無視。
# git clone pjproject
# cd pjproject
# ./configure --prefix=/usr --libdir=/usr/lib --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr
# make dep
# make
# make install
# ldconfig
檢視是否安裝正確:
# ldconfig -p | grep pj
libpjsua.so.2 (libc6) => /usr/lib/libpjsua.so.2
libpjsua.so (libc6) => /usr/lib/libpjsua.so
libpjsip.so.2 (libc6) => /usr/lib/libpjsip.so.2
libpjsip.so (libc6) => /usr/lib/libpjsip.so
libpjsip-ua.so.2 (libc6) => /usr/lib/libpjsip-ua.so.2
libpjsip-ua.so (libc6) => /usr/lib/libpjsip-ua.so
libpjsip-******.so.2 (libc6) => /usr/lib/libpjsip-******.so.2
libpjsip-******.so (libc6) => /usr/lib/libpjsip-******.so
libpjnath.so.2 (libc6) => /usr/lib/libpjnath.so.2
libpjnath.so (libc6) => /usr/lib/libpjnath.so
libpjmedia.so.2 (libc6) => /usr/lib/libpjmedia.so.2
libpjmedia.so (libc6) => /usr/lib/libpjmedia.so
libpjmedia-videodev.so.2 (libc6) => /usr/lib/libpjmedia-videodev.so.2
libpjmedia-videodev.so (libc6) => /usr/lib/libpjmedia-videodev.so
libpjmedia-codec.so.2 (libc6) => /usr/lib/libpjmedia-codec.so.2
libpjmedia-codec.so (libc6) => /usr/lib/libpjmedia-codec.so
libpjmedia-audiodev.so.2 (libc6) => /usr/lib/libpjmedia-audiodev.so.2
libpjmedia-audiodev.so (libc6) => /usr/lib/libpjmedia-audiodev.so
libpjlib-util.so.2 (libc6) => /usr/lib/libpjlib-util.so.2
libpjlib-util.so (libc6) => /usr/lib/libpjlib-util.so
libpj.so.2 (libc6) => /usr/lib/libpj.so.2
libpj.so (libc6) => /usr/lib/libpj.so
如果看到上面的結果,就表明安裝正確。
接下來安裝asterisk-12
先安裝依賴庫:jansson和sqlite:
# tar zxvf jansson-2.5.tar.gz
# cd jansson-2.5
# ./configure
# make
# make install
# make check
安裝sqlite:
centos發行版本自帶的有sqlite和sqlite-devel,利用rpm安裝即可;
# tar zxvf asterisk-12-current.tar.gz
# cd asterisk-12.1.1
# ./configure--disable-asteriskssl
# make menuslect
進入channel drivers 中chan_pjsip被選中 且 resource modules中res_pjsip開頭的幾個模組別選中,表明pjsip模組已被asterisk正確識別。
# make
# make install
asterisk12安裝成功!
啟動asterisk後,在cli中可以利用pjsip檢視模組的相關命令。
建立pjsip的endpoint
在/etc/asterisk/pjsip.conf的最後,新增兩行:
#include 「/etc/asterisk/peers_pjsip.conf」
#include "/etc/asterisk/trunk_pjsip.conf"
/etc/asterisk/peers_pjsip.conf檔案中配置pjsip的endpoint,例如:
[6001]
type=endpoint
transport=transport-udp
context=from-internal
disallow=all
allow=ulaw
allow=gsm
allow=g729
auth=6001-auth
aors=6001
[6002]
type=endpoint
transport=transport-udp
context=from-internal
disallow=all
allow=ulaw
allow=gsm
allow=g729
auth=6002-auth
aors=6002
[6001-auth]
type=auth
auth_type=userpass
password=6001
username=6001
[6002-auth]
type=auth
auth_type=userpass
password=6002
username=6002
[transport-udp]
type=transport
protocol=udp ;udp,tcp,tls,ws,wss
bind=0.0.0.0:5070
[6001]
type=aor
max_contacts=2
;contact=sip:6001@192.0.2.1:5060
[6002]
type=aor
max_contacts=1
以上內容是建立了兩個pjsip的endpoint。注意transport-udp標籤,其監聽的是5070埠,也就是pjsip監聽的是5070埠,而chan_sip預設情況向監聽的是5060,兩者不能重複。
/etc/asterisk/trunk_pjsip.conf中建立trunk,示例內容如下:
[mytrunk]
type=endpoint
transport=transport-udp
context=from-external
disallow=all
allow=ulaw
allow=alaw
outbound_auth=mytrunk_auth
aors=mytrunk
[mytrunk]
type=aor
contact=sip:192.168.2.20:5070
[mytrunk]
type=identify
endpoint=mytrunk
match=192.168.2.20
這樣pjsip就可以接受來自192.168.2.20的呼叫了,否則,在預設的情況下pjsip是不接受匿名呼叫的;另一種方法是建立anonymous的endpoint,這樣會帶來安全隱患。
使用Zabbix監控Asterisk
asterisk部署完成後,可以使用zabbix對其進行監控。1 在asterisk所在的伺服器上部署zabbix的agent,並編寫配置檔案zabbix agentd.conf asterisk userparameter iax.status,sudo usr sbin asterisk rvv...
使用kamailio 實現asterisk負載均衡
通過使用kamailio的dispatcher.so 模組實現astersik的負載均衡 配置如下 1 dispatcher.list group sip addresses of your units 1 sip 10.1.2.3 5060 1 sip 10.1.2.4 5060 1 sip 10...
Centos 5 3上Asterisk安裝及配置
asterisk 安裝及配置 以下沒有特殊註明,所有操作都是在命令列中 前期準備 安裝依賴軟體和環境 yum y upgrade 更新軟體列表和部分軟體 yum y update 公升級現有軟體 yum install kernel devel 安裝devel 版的核心,asterisk 安裝需要 ...