%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: mediaproxy Version: 2.3.8 Release: 1%{?dist} Summary: NAT traversal solution for compatible SIP-routers Group: System Environment/Daemons License: GPLv2 URL: http://www.ag-projects.com/MediaProxy.html Source0: http://download.ag-projects.com/MediaProxy/%{name}-%{version}.tar.gz Source1: mediaproxy-dispatcher.init Source2: mediaproxy-relay.init BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: python-devel BuildRequires: python-setuptools BuildRequires: libnetfilter_conntrack-devel >= 0.0.89 Requires: kernel >= 2.6.18 Requires: python >= 2.4 Requires: python-twisted-core >= 2.5.0 Requires: python-twisted-names Requires: python-zope-interface Requires: python-application >= 1.1.5 Requires: python-gnutls >= 1.1.8 Requires: python-cjson Requires: python-pyrad >= 1.1 Requires: python-sqlobject Requires(post): chkconfig Requires(preun): chkconfig # This is for /sbin/service Requires(preun): initscripts %description MediaProxy is a distributed far end NAT traversal solution for media streams of SIP calls. MediaProxy has a dispatcher running on the same host with the SIP-proxy and multiple media relays distributed over the network. The media relays work by manipulating conntrack rules in the Linux kernel to create paths that forward the media streams between the 2 SIP user agents participating in the call. Because it avoids to copy stream data from kernel space to user space and back to kernel space like other implementations, MediaProxy can handle much more media streams at a time, limited only to the network interface bandwidth and the Linux kernel network layer processing speed. MediaProxy features secure encrypted communication between the dispatcher and the relays, advanced accounting capabilities using multiple backends, support for any combination of audio and video streams, realtime statistics, T.38 fax support as well as automatic load balancing and redundancy among the active relays. %package web-interface Summary: Simple web-interface for mediaproxy Group: System Environment/Daemons License: GPLv2 Requires: php Requires: %{name} = %{version}-%{release} Requires: httpd %description web-interface This package provides a simple web page to display active media sessions. %prep %setup -q %build CFLAGS="$RPM_OPT_FLAGS" %{__python} -c 'import setuptools; execfile("setup.py")' build %install rm -rf $RPM_BUILD_ROOT %{__python} -c 'import setuptools; execfile("setup.py")' install --skip-build --root $RPM_BUILD_ROOT %{__install} -D -p -m 0644 doc/man/media-dispatcher.1 $RPM_BUILD_ROOT%{_mandir}/man1/media-dispatcher.1 %{__install} -D -p -m 0644 doc/man/media-relay.1 $RPM_BUILD_ROOT%{_mandir}/man1/media-relay.1 %{__install} -D -p -m 0644 config.ini.sample $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/config.ini %{__install} -D -p -m 0644 radius/dictionary $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/radius/dictionary # installing sample TLS files %{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/tls %{__install} -p -m 0644 tls/README $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/tls %{__install} -p -m 0644 tls/ca.pem $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/tls %{__install} -p -m 0644 tls/crl.pem $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/tls %{__install} -p -m 0644 tls/dispatcher.crt $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/tls %{__install} -p -m 0644 tls/dispatcher.key $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/tls %{__install} -p -m 0644 tls/relay.crt $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/tls %{__install} -p -m 0644 tls/relay.key $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/tls # installing web-interface %{__install} -D -p -m 0644 web/config/media_sessions.conf.sample $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/web/media_sessions.conf %{__install} -D -p -m 0644 debian/mediaproxy-web-sessions.apache_conf $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/mediaproxy_sessions %{__install} -D -p -m 0644 web/media_sessions.phtml $RPM_BUILD_ROOT%{_datadir}/%{name}/web/media_sessions.phtml %{__install} -D -p -m 0644 web/library/media_sessions.php $RPM_BUILD_ROOT%{_datadir}/%{name}/web/library/media_sessions.php %{__install} -D -p -m 0644 web/library/phone_images.php $RPM_BUILD_ROOT%{_datadir}/%{name}/web/library/phone_images.php %{__install} -D -p -m 0644 web/images/PoweredbyAGProjects.gif $RPM_BUILD_ROOT%{_datadir}/%{name}/web/images/PoweredbyAGProjects.gif %{__install} -d $RPM_BUILD_ROOT%{_datadir}/%{name}/web/images/30 %{__install} -p -m 0644 web/images/30/* $RPM_BUILD_ROOT%{_datadir}/%{name}/web/images/30 # installing init-scripts %{__install} -D -p -m 0755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/mediaproxy-dispatcher %{__install} -D -p -m 0755 %{SOURCE2} $RPM_BUILD_ROOT%{_initrddir}/mediaproxy-relay # create room for pid-files %{__install} -d $RPM_BUILD_ROOT%{_localstatedir}/run/%{name} %clean rm -rf $RPM_BUILD_ROOT %post /sbin/chkconfig --add mediaproxy-dispatcher /sbin/chkconfig --add mediaproxy-relay %preun if [ $1 = 0 ] ; then /sbin/service mediaproxy-dispatcher stop >/dev/null 2>&1 /sbin/service mediaproxy-relay stop >/dev/null 2>&1 /sbin/chkconfig --del mediaproxy-dispatcher /sbin/chkconfig --del mediaproxy-relay fi %files %defattr(-,root,root,-) %doc LICENSE PKG-INFO README TODO %dir %{_sysconfdir}/%{name} %dir %{_sysconfdir}/%{name}/radius %dir %{_sysconfdir}/%{name}/tls %dir %{_datadir}/%{name} %dir %{_localstatedir}/run/%{name} %config(noreplace) %{_sysconfdir}/%{name}/config.ini %config(noreplace) %{_sysconfdir}/%{name}/radius/dictionary %config(noreplace) %{_sysconfdir}/%{name}/tls/README %config(noreplace) %{_sysconfdir}/%{name}/tls/ca.pem %config(noreplace) %{_sysconfdir}/%{name}/tls/crl.pem %config(noreplace) %{_sysconfdir}/%{name}/tls/dispatcher.crt %config(noreplace) %{_sysconfdir}/%{name}/tls/dispatcher.key %config(noreplace) %{_sysconfdir}/%{name}/tls/relay.crt %config(noreplace) %{_sysconfdir}/%{name}/tls/relay.key %{_initrddir}/mediaproxy-dispatcher %{_initrddir}/mediaproxy-relay %{_bindir}/media-dispatcher %{_bindir}/media-relay %{_mandir}/man1/media-dispatcher.1.* %{_mandir}/man1/media-relay.1.* %{python_sitearch}/%{name}/ %{python_sitearch}/%{name}-%{version}-*.egg-info/ %files web-interface %defattr(-,root,root,-) %dir %{_sysconfdir}/%{name}/web %dir %{_datadir}/%{name}/web %config(noreplace)%{_sysconfdir}/%{name}/web/media_sessions.conf %config(noreplace)%{_sysconfdir}/httpd/conf.d/mediaproxy_sessions %{_datadir}/%{name}/web/images/30/Nokia810.png %{_datadir}/%{name}/web/images/30/aastra.png %{_datadir}/%{name}/web/images/30/asterisk.png %{_datadir}/%{name}/web/images/30/audiocodes-mp124.png %{_datadir}/%{name}/web/images/30/avm-fritzbox-wlan.png %{_datadir}/%{name}/web/images/30/avm-fritzbox-wlan2.png %{_datadir}/%{name}/web/images/30/budgetone100.png %{_datadir}/%{name}/web/images/30/cirpack.png %{_datadir}/%{name}/web/images/30/cisco-5380.png %{_datadir}/%{name}/web/images/30/cisco-7960.png %{_datadir}/%{name}/web/images/30/cisco-ata.png %{_datadir}/%{name}/web/images/30/cisco.png %{_datadir}/%{name}/web/images/30/copperjet16162p.png %{_datadir}/%{name}/web/images/30/draytek-vigor2600v.png %{_datadir}/%{name}/web/images/30/draytek-vigor2600vg.png %{_datadir}/%{name}/web/images/30/draytek-vigor2800g.png %{_datadir}/%{name}/web/images/30/draytek-vigor2900g.png %{_datadir}/%{name}/web/images/30/eStara.png %{_datadir}/%{name}/web/images/30/ekiga.png %{_datadir}/%{name}/web/images/30/eyebeam.png %{_datadir}/%{name}/web/images/30/handytone.png %{_datadir}/%{name}/web/images/30/hitachi-wip5000-2.png %{_datadir}/%{name}/web/images/30/hitachi-wip5000-3.png %{_datadir}/%{name}/web/images/30/hitachi-wip5000.png %{_datadir}/%{name}/web/images/30/innomedia-mta5000.png %{_datadir}/%{name}/web/images/30/ipDialog.png %{_datadir}/%{name}/web/images/30/linksys-pap2-vert.png %{_datadir}/%{name}/web/images/30/linksys-pap2.png %{_datadir}/%{name}/web/images/30/messenger.png %{_datadir}/%{name}/web/images/30/nokia.png %{_datadir}/%{name}/web/images/30/session.png %{_datadir}/%{name}/web/images/30/siemens-3610.png %{_datadir}/%{name}/web/images/30/sipps.png %{_datadir}/%{name}/web/images/30/sjphone.png %{_datadir}/%{name}/web/images/30/snom100.png %{_datadir}/%{name}/web/images/30/snom200.png %{_datadir}/%{name}/web/images/30/snom320-front.png %{_datadir}/%{name}/web/images/30/snom320-left.png %{_datadir}/%{name}/web/images/30/snom320.png %{_datadir}/%{name}/web/images/30/snom360-front.png %{_datadir}/%{name}/web/images/30/snom360-left.png %{_datadir}/%{name}/web/images/30/snom360.png %{_datadir}/%{name}/web/images/30/spa2000.png %{_datadir}/%{name}/web/images/30/unknown.png %{_datadir}/%{name}/web/images/30/unknown3.png %{_datadir}/%{name}/web/images/30/vizufon.png %{_datadir}/%{name}/web/images/30/vizufon2.png %{_datadir}/%{name}/web/images/30/webstarepx2203.png %{_datadir}/%{name}/web/images/30/xten.png %{_datadir}/%{name}/web/images/30/zoep.png %{_datadir}/%{name}/web/images/30/zyxel-p2000.png %{_datadir}/%{name}/web/images/PoweredbyAGProjects.gif %{_datadir}/%{name}/web/library/media_sessions.php %{_datadir}/%{name}/web/library/phone_images.php %{_datadir}/%{name}/web/media_sessions.phtml %changelog * Thu Oct 29 2009 Peter Lemenkov - 2.3.8-1 - Ver. 2.3.8 * Sat Sep 19 2009 Peter Lemenkov - 2.3.5-1 - Initial package for Fedora/EPEL