因为工作中需要使用到opensips+mediaproxy,这边就介绍下CentOS5.11下面安装mediaproxy2.4.4.
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
yum -y
install
gcc gcc-c++ libgpg-error-devel python-devel libgcrypt-devel python-setuptools
rpm -ivh libnfnetlink-0.0.40-1.el5.rf.x86_64.rpm
rpm -ivh libnfnetlink-devel-0.0.40-1.el5.rf.x86_64.rpm
rpm -ivh libnetfilter_conntrack-0.0.97-1.el5.rf.x86_64.rpm
rpm -ivh libnetfilter_conntrack-devel-0.0.97-1.el5.rf.x86_64.rpm
tar
jxf gnutls-2.4.2.
tar
.bz2
cd
gnutls-2.4.2
.
/configure
--with-included-libtasn1 --libdir=
/usr/local/lib64/
make
make
install
ln
-s
/usr/local/lib64/libgnutl
*
/usr/lib64/
ln
-s
/usr/lib64/libgcrypt
.11
/usr/lib64/libgcrypt
.11.2.2
ln
-s
/usr/lib64/libgcrypt
.11
/usr/lib64/libgcrypt
.11.2.3
cd
tar
zxf ctypes-1.0.2.
tar
.gz
cd
ctypes-1.0.2
.
/setup
.py build
.
/setup
.py
install
cd
tar
zxf python-application-1.1.5.
tar
.gz
cd
python-application-1.1.5
.
/setup
.py build
.
/setup
.py
install
cd
tar
zxf python-cjson-1.0.5.
tar
.gz
cd
python-cjson-1.0.5
.
/setup
.py build
.
/setup
.py
install
cd
tar
zxf python-gnutls-1.1.9.
tar
.gz
cd
python-gnutls-1.1.9
.
/setup
.py build
.
/setup
.py
install
cd
rpm -ivh python-zopeinterface-3.3.0-114.2.x86_64.rpm
tar
jxf Twisted-8.1.0.
tar
.bz2
cd
Twisted-8.1.0
.
/setup
.py build
.
/setup
.py
install
cd
tar
zxf mediaproxy-2.4.4.
tar
.gz
cd
mediaproxy-2.4.4
.
/setup
.py build
.
/setup
.py
install
cd
mkdir
/etc/mediaproxy
mkdir
-p
/var/run/opensips/
mkdir
-p
/var/run/mediaproxy
cp
/root/mediaproxy-2
.4.4
/config
.ini.sample
/etc/mediaproxy/config
.ini
cp
-rf
/root/mediaproxy-2
.4.4
/tls/
/etc/mediaproxy/
开启ip_forward
sed
-i
's#net.ipv4.ip_forward = 0#net.ipv4.ip_forward = 1#g'
/etc/sysctl
.conf
sysctl -p
config.ini
[Relay]
dispatchers = 192.168.88.245
passport = None
relay_ip = 192.168.88.245
port_range = 50000:60000
log_level = DEBUG
on_hold_timeout = 1800
[Dispatcher]
socket_path = dispatcher.sock
listen = 192.168.88.245
listen_management = 192.168.88.245
management_use_tls = no
passport = None
management_passport = None
log_level = DEBUG
[TLS]
[Database]
[Radius]
[OpenSIPS]
socket_path =
/var/run/opensips/socket
max_connections = 10
|
在opensips的配置文件opensips.cfg的route上面增加
1
2
3
4
5
6
7
|
loadmodule
"mediaproxy.so"
modparam(
"mediaproxy"
,
"disable"
, 0)
modparam(
"mediaproxy"
,
"mediaproxy_socket"
,
"/var/run/mediaproxy/dispatcher.sock"
)
modparam(
"mediaproxy"
,
"mediaproxy_timeout"
, 1000)
modparam(
"mediaproxy"
,
"signaling_ip_avp"
,
"$avp(nat_ip)"
)
modparam(
"mediaproxy"
,
"media_relay_avp"
,
"$avp(media_relay)"
)
modparam(
"mediaproxy"
,
"ice_candidate"
,
"low-priority"
)
|
运行media-dispatcher可能没有问题,可是运行media-relay就可能会出现
1
2
|
May 22 11:50:40 localhost media-relay[9757]: Starting MediaProxy Relay 2.4.4
May 22 11:50:40 localhost media-relay[9757]: fatal error: failed to create MediaProxy Relay: Could not initialize the iptables
'nat'
table. Missing kernel support or running without root priviliges.
|
这个时候运行
[root@mySer ~]# lsmod|grep nat
#发现没有输出
再运行
1
2
3
4
5
6
7
8
|
[root@mySer ~]
# modprobe iptable_nat
[root@mySer ~]
# lsmod|grep nat
iptable_nat 40517 0
ip_nat 53357 1 iptable_nat
ip_tables 55329 1 iptable_nat
ip_conntrack 92005 2 iptable_nat,ip_nat
nfnetlink 40585 2 ip_nat,ip_conntrack
x_tables 50377 2 iptable_nat,ip_tables
|
使用modprobe iptable_nat可能重新启动后就失效,这个时候你需要
1
2
|
echo
"modprobe iptable_nat"
>>
/etc/sysconfig/modules/iptable_nat
.modules
chmod
+x
/etc/sysconfig/modules/iptable_nat
.modules
|
在启动media-relay就成功了。
文中所需软件地址:http://down.51cto.com/data/2050116
本文转自 rong341233 51CTO博客,原文链接:http://blog.51cto.com/fengwan/1652807