한국어

소프트스위치

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

조회 수 :
149842
등록일 :
2017.09.04
00:35:28 (*.160.88.18)
엮인글 :
http://webs.co.kr/index.php?document_srl=3311773&act=trackback&key=672
게시글 주소 :
http://webs.co.kr/index.php?document_srl=3311773
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
172 OpenSIPS Control Panel (OCP) Installation Guide admin 2014-03-06 289825
171 Opensips Gateway between SIP and SMPP messages admin 2019-02-19 274639
170 What is new in 1.8.0 opensip admin 2012-05-21 265798
169 What is new in 2.3.0 opensips admin 2017-09-04 253741
168 Using SIP Devices behind NAT OPensip Asterisk IPPhone SIP Telephony file admin 2013-03-31 238005
167 OpenSIPS vs Asterisk admin 2013-04-06 232543
166 PUSH SERVER 푸시서버 안드로이드 애플 admin 2017-09-11 217324
165 telepresence: Open Source SIP Telepresence/MCU admin 2014-03-12 195944
164 MediaProxy Installation Guide admin 2014-03-06 190940
163 RTPproxy Frequentry Asked Questions (FAQ) ¶ admin 2014-03-07 182957
162 SIP PBX - OpenSIPS and Asterisk configuration admin 2014-03-12 175060
161 Asterisk v1.4x built on FreeBSD v7.1 UNIX admin 2012-01-06 160473
160 사설 망 환경에서 SIP 의 NAT Traversal 문제 admin 2011-12-23 155100
» How to install Mediaproxy 2.5.2 on CentOS 6 64 bit admin 2017-09-04 149842
158 SIP 트래픽 생성 테스트 툴 admin 2011-12-23 144428
157 opensips command /sbin/opensipsctl detail admin 2017-09-04 131237
156 How to setup a Jabber / XMPP server on Debian 8 (jessie) using ejabberd admin 2017-09-13 130307
155 Opensips_1.9 install guide this is great I like this admin 2014-03-04 113917
154 OpenSIPS basic configuration script 기본 컨피그 admin 2017-09-05 111466
153 Installing RTPproxy Start RTPproxy in Bridged mode very good admin 2014-03-07 110835
152 Welcome to the Smartvox Knowledgebase admin 2013-04-06 108476
151 오픈소스 (사내)메신저 서버 구축, 오픈 파이어(openfire) 설치방법과 세팅 admin 2014-08-11 107859
150 Flooding Asterisk, Freeswitch and Kamailio with Metasploit admin 2013-04-06 106272
149 dictionary.opensips radius admin 2017-12-09 102998
148 OpenSIPS Control Panel install guide admin 2014-03-06 102747
147 Installation and configuration process record opensips 1.9.1 admin 2014-08-09 100684
146 in opensips what is lookup(domain [, flags [, aor]]) admin 2017-12-09 98036
145 My new toy: Bluebox-ng admin 2013-04-06 95004
144 Conference Support in Kamailio (OpenSER) admin 2014-03-12 93953
143 Kamailo OpenSIPs installation on Debian admin 2014-03-09 90140