专注于VoIP,Opensips,Kamailio等技术,QQ群:QQ群:293697898
以下由QQ群友 風華血月(963641045)分享
1.环境:阿里云Debian 8.04 64位系统,防火墙默认开启,数据库mysql
防火墙充许所有的请求
2.默认已经安装了kamailio,配置连mysql数据库,添加用户,不会的可以根据官方文档: http://www.kamailio.org/wiki/install/4.4.x/git
或群里崔工文档进行安装
3.安装mediaproxy,mediaproxy属于AG Projects ,参考官方文档:http://mediaproxy.ag-projects.com/projects/mediaproxy/wiki/InstallationGuide
首先添加AG Projects - Software Repositories :http://projects.ag-projects.com/projects/documentation/wiki/Repositories
根据我自己系统选择
加入/etc/apt/sources.list。
然后添加key:
wget http://download.ag-projects.com/agp-debian-gpg.key
apt-key add agp-debian-gpg.key (如不是root用户,需要前面加 sudo)
apt-get update
添加AG Projects源完成。
安装mediaproxy命令如下:
apt-get install mediaproxy-dispatcher mediaproxy-relay mediaproxy-web-sessions
4.配置mediaproxy,mediaproxy依赖IPtables(默认开启)
开启ip_forward
sed -i 's#net.ipv4.ip_forward = 0#net.ipv4.ip_forward = 1#g' /etc/sysctl.conf
sysctl -p
打开/etc/mediaproxy/config.ini ,修改如下: dispatchers = 192.168.88.245(你可以改为自己机器公网IP) passport = None relay_ip = 192.168.88.245(你可以改为自己机器公网IP) port_range = 50000:60000 log_level = DEBUG on_hold_timeout = 1800 [Dispatcher] socket_path = dispatcher.sock listen = 192.168.88.245(你可以改为自己机器公网IP) listen_management = 192.168.88.245(你可以改为自己机器公网IP) management_use_tls = no passport = None management_passport = None log_level = DEBUG [TLS] [Database] [Radius] [kamailio] (我们用的kamailio,把OpenSIPS改为kamailio) socket_path = /var/run/kamailio/socket max_connections = 10
5.kamailio配置mediaproxy
在kamailio的配置文件kamailio.cfg的route上面增加
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")
Ps:这没有验证,仅供参考,参考链接:http://fengwan.blog.51cto.com/508652/1652807 问题:
运行media-dispatcher可能没有问题,可是运行media-relay可能会出现问题
运行命令:lsmod | grep nat 没有输出
解决方法:
运行命令: modprobe iptable_nat
在运行:lsmod | grep nat
使用modprobe iptable_nat可能重新启动后就失效,这个时候你需要
echo "modprobe iptable_nat" >> /etc/sysconfig/modules/iptable_nat.modules
chmod +x /etc/sysconfig/modules/iptable_nat.modules
在启动media-relay就成功了。