한국어

소프트스위치

온누리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.

조회 수 :
144639
등록일 :
2017.09.04
00:35:28 (*.160.88.18)
엮인글 :
http://www.webs.co.kr/index.php?document_srl=3311773&act=trackback&key=5a5
게시글 주소 :
http://www.webs.co.kr/index.php?document_srl=3311773
List of Articles
번호 제목 글쓴이 조회 수 추천 수sort 날짜
171 The FreeRADIUS Project admin 44629   2011-12-14
 
170 OpenH323 Gatekeeper - The GNU Gatekeeper admin 54157   2011-12-14
 
169 the OpenSIPS Project OpenSIP admin 46155   2011-12-14
 
168 사설 망 환경에서 SIP 의 NAT Traversal 문제 admin 146219   2011-12-23
 
167 SIP 트래픽 생성 테스트 툴 admin 137983   2011-12-23
 
166 Asterisk v1.4x built on FreeBSD v7.1 UNIX admin 151628   2012-01-06
 
165 debian 11 opensips 3.2 install command admin 10878   2023-06-25
 
164 t_relay opensips admin 6563   2023-07-25
 
163 opensips Call pickup configuration admin 6646   2023-07-27
 
162 opensips Push Notification configuration admin 6709   2023-07-29
 
161 string trans opensips admin 6654   2023-08-05
 
160 opensips-cli command admin 8500   2023-08-07
 
159 What is new in 1.8.0 opensip admin 254877   2012-05-21
 
158 OpenSIPS install configuration support admin 1293   2024-04-09
 
157 OpenSIPS 이해 서비스 지원 admin 1290   2024-04-09
 
156 Asterisk 에서 FreeSWITCH 전환 admin 1280   2024-04-09
 
155 Open Source VOIP applications, both clients and servers. admin 44648   2013-11-20
 
154 OfficeSIP Server is freeware VoIP, SIP server for Windows admin 55218   2013-09-11
 
153 rfc5766-turn-server admin 41874   2013-03-21
 
152 OpenSER_from_an_asterisk_POV file admin 39419   2013-04-06
 
151 OpenSIPS vs Asterisk admin 222755   2013-04-06
 
150 Kamailio 3.3.x and Asterisk 10.7.0 Realtime Integration using Asterisk Database admin 53047   2013-04-06
 
149 OPENSIP Training VIDEO admin 37642   2013-02-20
 
148 OpenSIPS Kick Start‎: VIDEO admin 39342   2013-02-20
 
147 Welcome to the Smartvox Knowledgebase admin 105548   2013-04-06
 
146 Kamailio :: A Quick Introduction admin 82331   2013-04-06
 
145 The SIP Router Project admin 45738   2013-04-06
 
144 Asterisk Installation Asterisk Realtime configuration admin 46471   2013-04-06
 
143 Flooding Asterisk, Freeswitch and Kamailio with Metasploit admin 101260   2013-04-06
 
142 My new toy: Bluebox-ng admin 92228   2013-04-06