한국어

소프트스위치

온누리070 플레이스토어 다운로드
    acrobits softphone
     온누리 070 카카오 프러스 친구추가온누리 070 카카오 프러스 친구추가친추
     카카오톡 채팅 상담 카카오톡 채팅 상담카톡
    
     라인상담
     라인으로 공유

     페북공유

   ◎위챗 : speedseoul


  
     PAYPAL
     
     PRICE
     

pixel.gif

    before pay call 0088 from app


http://kb.smartvox.co.uk/opensips/install-mediaproxy-centos-6/


Mediaproxy 2.5.2 is a Python application from AG-Projects which is available as a free download as well as being available as a commercial product from AG-Projects. It is used in combination with the Mediaproxy module of OpenSIPS.

Mediaproxy 2 has several dependencies and can be quite tricky to install. The INSTALL instructions that come with the package are very helpful, but unfortunately they are aimed primarily at installers who either have Debian or Ubuntu Linux distributions. If you are using CentOS (or Red Hat), especially the 64 bit versions, then getting Mediaproxy 2 to run can be difficult.

This article is essentially an update for an earlier article showing how to install Mediaproxy 2.3.8 on CentOS 5. The installation process on CentOS 6 is quite different so I decided to leave the older article as it was and write up the process for CentOS 6 as a new article. Readers can choose whichever description is most suitable.

Here are the sequential instructions for installing the libraries needed for Mediaproxy 2.5.2. A number of packages that previously had to be installed using source tarballs are now installed using yum, making the process much easier.

Install some development and system packages using YUM

Development tools
yum groupinstall “Development Tools”

Development libraries and headers for some existing packages
yum install iptables-devel.x86_64
yum install libgpg-error-devel.x86_64
yum install python-devel.x86_64

libnfnetlink and libnetfilter_conntrack

yum install libnfnetlink-devel.x86_64
yum install libnetfilter_conntrack-devel.x86_64

libgcrypt

yum install libgcrypt-devel

Install some Python packages

python-zopeinterface

yum install python-zope-interface

python-cjson

This module can be installed using YUM, but first you will have to activate the rpmforge repository. The best way to do this is using the instructions here:
http://wiki.centos.org/AdditionalResources/Repositories/RPMForge

It is also possible to install the required python-cjson package from a source tarball as follows:

Suggested version: python-cjson-1.0.5.tar.gz
Locating a download site: http://pypi.python.org/pypi/python-cjson/1.0.5
Unzip: tar -xf python-cjson-1.0.5.tar.gz
Change to the sub-directory created when you unzipped the tarball
Build and install the library:
./setup.py build
./setup.py install

The following python packages are best installed from source tarballs. Details are given below:

python-application

Suggested version: python-application-1.3.0.tar.gz
Locating a download site: http://pypi.python.org/pypi/python-application/1.3.0
Unzip: tar -xf python-application-1.3.0.tar.gz
Change to the sub-directory created when you unzipped the tarball
Build and install the library:
./setup.py build
./setup.py install

python-gnutls

Suggested version: python-gnutls-1.2.4.tar.gz
Locating a download site: http://pypi.python.org/pypi/python-gnutls/1.2.4
Unzip: tar -xf python-gnutls-1.2.4.tar.gz
Change to the sub-directory created when you unzipped the tarball
Build and install the library:
./setup.py build
./setup.py install

Install the Twisted Python package

Install the core Twisted package from Twisted Matrix Labs
Suggested version: Twisted-11.0.0.tar.bz2
Locating a download site: http://twistedmatrix.com/trac
Unzip: tar -xf Twisted-11.0.0.tar.bz2
Change to the sub-directory created when you unzipped the tarball
Build and install the library:
./setup.py build
./setup.py install

Note also that version 8.2.0 of Twisted is available in the default YUM repositories. It is easier to install using YUM, but I prefer to install the later version from the source tarball because it matches the version used in the Debian install packages provided by AG-Projects.

A Checklist of dependencies and versions

On the system used for testing, the list of packages (and their versions) required by Mediaproxy looked like this prior to installation of the mediaproxy source code:

PackageVersion
gcc4.4.6
gcc-c++4.4.6
iptables and iptables-devel1.4.7
libnfnetlink and libnfnetlink-devel1.0.0
libnetfilter_conntrack and libnetfilter_conntrack-devel0.0.100
libgcrypt and libgcrypt-devel1.4.5
libgpg-error and libgpg-error-devel1.7
gnutls2.8.5
python and python-devel2.6.6
python-zope-interface3.5.2
python-twisted11.0.0
python-gnutls1.2.4
python-application1.3.0
python-cjson1.0.5

Install Mediaproxy 2

Mediaproxy 2
Suggested version: mediaproxy-2.5.2.tar.gz
Locating a download site: http://download.ag-projects.com/MediaProxy
Suggested location to copy and then unzip the tarball: /usr/local
Unzip: tar -xf mediaproxy-2.5.2.tar.gz
Change to the sub-directory created when you unzipped the tarball

I recommend that you build and install the library (standalone in the local directory) using the following command:
./build_inplace

In theory, an alternative approach to building and installing the library (system wide) is possible using the following commands, but I have had problems with this method:
./setup.py build
./setup.py install

And finally…

Make sure iptables is installed, running and correctly configured
Mediaproxy depends on iptables to relay IP packets through your server. Check that it is installed and running.

You can see the list of rules using the following command:
iptables -L -v -n

Note: In CentOS 6 you may well see a default rule preventing packet forwarding. If you leave this rule in place, the mediaproxy relay will start but it will not be able to relay any RTP. You will therefore need to change or delete this rule.

Set ip forwarding with immediate effect
echo “1” > /proc/sys/net/ipv4/ip_forward

Set ip forwarding permanently
Edit the file /etc/sysctl.conf
Change the line “net.ipv4.ip_forward = 0”
to “net.ipv4.ip_forward = 1”

config.ini
Create a config.ini file from the sample template provided (config.ini.sample) and copy it to the appropriate directory. Using the system wide version, put it in /etc/mediaproxy. For standalone build you can also put it in the local directory where media-relay and media-dispatcher are located. If a file exists in both locations, the local one takes precedence

Using and troubleshooting Mediaproxy

When the media-relay program starts, it connects to one or more dispatchers using a TCP socket connection. Such connections can traverse a network which means dispatcher and relay do not have to run on the same server. It also means you should ideally start media-dispatcher before you start media-relay.

As far as I know, media-dispatcher has to run on the same server as OpenSIPS and they always have a 1-to-1 relationship. They connect via a local Unix socket. However, a relay can connect to more than one dispatcher and each dispatcher can accept connections from more than one relay, if needed. This many-to-many relationship is useful in terms of resilience and scalability.

By default, media-dispatcher listens for TCP connections from relays on port 25060. You can use the Linux command “netstat -ltnp” to see a list of listening ports and the name of the associated program. The command “netstat -tnp” will show established connections. Both media-dispatcher and media-relay appear as program name “python”, so the output of “netstat -tnp” on a server with both installed and connected might appear like this:

[root@sip1 log]# netstat -tnp
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address       Foreign Address     State       PID/Program name
tcp        0      0 12.34.56.78:25060   12.34.56.78:43708   ESTABLISHED 1584/python
tcp        0      0 12.34.56.78:43708   12.34.56.78:25060   ESTABLISHED 1676/python

You can check if dispatcher and relay are running with the following Linux command:

ps ax | grep media-

The output should look somewhat like this:

[root@sip1 mediaproxy]# ps ax | grep media-
 1584 ?       SL   0:00 python /usr/local/mediaproxy/media-dispatcher
 1676 ?       SL   0:00 python /usr/local/mediaproxy/media-relay
15059 pts/0   S+   0:00 grep media-

If you are having problem running the programs, you should check for errors in the file /var/log/messages. Here is what the log looks like when dispatcher starts:

Sep 26 12:39 sip1 media-dispatcher[1584]: Starting MediaProxy Dispatcher 2.5.2
Sep 26 12:39 sip1 media-dispatcher[1584]: using set_wakeup_fd
Sep 26 12:39 sip1 media-dispatcher[1584]: Twisted is using epollreactor
Sep 26 12:39 sip1 media-dispatcher[1584]: mediaproxy.dispatcher.RelayFactory starting on 25060
Sep 26 12:39 sip1 media-dispatcher[1584]: mediaproxy.dispatcher.OpenSIPSControlFactory starting on "'/var/run/mediaproxy.sock'"
Sep 26 12:39 sip1 media-dispatcher[1584]: mediaproxy.dispatcher.ManagementControlFactory starting on 25061

…and here are the log messages for relay when it starts ok:

Sep 26 12:43 sip1 media-relay[1676]: Starting MediaProxy Relay 2.5.2
Sep 26 12:43 sip1 media-relay[1676]: using set_wakeup_fd
Sep 26 12:43 sip1 media-relay[1676]: Set resource limit for maximum open file descriptors to 11000
  What did you think of this article? Please vote by clicking a coloured button
 (98%) (2%) (0%) (0%)

2 thoughts on “How to install Mediaproxy 2.5.2 on CentOS 6 64 bit

  1. python-gnutls has an invalid url (pypi.python.org/pypi/python-gnutls/1.3.0)

    and
    yum install libnfnetlink-devel.x86_64
    yum install libnetfilter_conntrack-devel.x86_64

    did not find the rpms…

    • Julien,
      Thanks, I have fixed that link for python-gnutls
      If yum is not finding those libnetfilter and libnfnetlink packages, then it must be that you are using different repositories to mine. I have used yum on a few CentOS 6 servers with no problem – just last week even. Another possible explanation – are you sure that x86_64 matches the architecture for your server? You can download rpm’s and install those instead if yum will not work. Use the advanced search on rpm.pbone.net to search for the right downloads. That is how I suggested they be installed in my earlier article for installation on CentOS 5.
      John.

조회 수 :
6985
등록일 :
2017.09.04
00:35:28 (*.160.88.18)
엮인글 :
http://webs.co.kr/index.php?document_srl=3311773&act=trackback&key=4e6
게시글 주소 :
http://webs.co.kr/index.php?document_srl=3311773
List of Articles
번호 제목 글쓴이 날짜 조회 수
132 opensips.cfg. sample admin 2017-09-12 6440
131 Advanced SIP scenarios with Event-based-Routing admin 2017-09-11 6653
130 PUSH SERVER 푸시서버 안드로이드 애플 admin 2017-09-11 7479
129 오픈소스 (사내)메신저 서버 구축, 오픈 파이어(openfire) 설치방법과 세팅(리눅스 기준) admin 2017-09-09 21829
128 rtpengine config basic and opensips configuration and command admin 2017-09-06 7067
127 WebSocket Transport using OpenSIPS configuration 웹 소켓 컨피그레이션 기본 admin 2017-09-06 6611
126 OpenSIPS basic configuration script 기본 컨피그 admin 2017-09-05 6567
125 rtpengine install and config admin 2017-09-05 6875
124 Installing RTPEngine on Ubuntu 14.04 admin 2017-09-05 6649
123 compile only the textops module make modules=modules/textops modules admin 2017-09-05 6640
122 opensips command /sbin/opensipsctl detail admin 2017-09-04 6603
121 2017 08 31 opensips 2.32 install debian8.8 module install compile err modules admin 2017-09-04 7268
120 Build-Depends debian 8.8 opensips 2.3 admin 2017-09-04 6427
119 What is new in 2.3.0 opensips admin 2017-09-04 8242
118 ubuntu 安装配置opensips,rtpproxy,mediaproxy admin 2017-09-04 6827
» How to install Mediaproxy 2.5.2 on CentOS 6 64 bit admin 2017-09-04 6985
116 Using TLS in OpenSIPS v2.2.x configuration admin 2017-09-04 6740
115 How to 2.3 download , OpenSIPS new apt repository. DEBs for Debian / Ubuntu admin 2017-09-02 6642
114 You can install CDRTool in the following ways: admin 2017-09-01 7122
113 How to Install OpenSIPS 2.1.2 Server on Ubuntu 15.04 admin 2017-09-01 8040
112 Opensips 2.32 download admin 2017-09-01 6580
111 OpenSIPS 2.3 install admin 2017-09-01 7261
110 JsSIP: The JavaScript SIP Library admin 2017-09-01 7014
109 WebSocket Transport using OpenSIPS admin 2017-09-01 7114
108 A2Billing and OpenSIPS – Part 1 admin 2017-08-29 6730
107 A2Billing and OpenSIPS – Part 2 admin 2017-08-29 6605
106 A2Billing and OpenSIPS – Part 3 admin 2017-08-29 6926
105 OpenSIPS 2.3 philosophy admin 2017-08-17 7899
104 The timeline for OpenSIPS 2.3 is admin 2017-08-17 7544
103 OpenSIPS Control Panel and Homer integration admin 2017-08-17 8135