3 %bcond_without mysql # mysql support
4 %bcond_without pgsql # PostgreSQL support
5 %bcond_without odbc # ODBC support
6 %bcond_without radius # radius support
7 %bcond_without carrierroute # carrierroute support
8 %bcond_without ldap # LDAP support
9 %bcond_with osp # ETSI OSP VoIP Peering support
10 %bcond_without geoip # GeoIP
11 %bcond_without json # json support
12 %bcond_without memcached # memcached support
13 %bcond_without microhttpd # httpd support
14 %bcond_without redis # Redis support
16 Summary: SIP proxy, redirect and registrar server
17 Summary(pl.UTF-8): Serwer SIP rejestrujący, przekierowujący i robiący proxy
22 Group: Networking/Daemons
23 Source0: http://opensips.org/pub/opensips/%{version}/src/%{name}-%{version}_src.tar.gz
24 # Source0-md5: ead8637ce2b4865418991f5c9564c3ed
26 Source2: %{name}.sysconfig
27 Patch0: %{name}-curses.patch
28 URL: http://www.opensips.org/
29 %{?with_geoip:BuildRequires: GeoIP-devel}
30 %{?with_osp:BuildRequires: OSPToolkit}
32 BuildRequires: curl-devel
33 BuildRequires: expat-devel
35 %{?with_redis:BuildRequires: hiredis-devel}
36 %{?with_json:BuildRequires: json-c-devel}
37 %{?with_carrierroute:BuildRequires: libconfuse-devel}
38 %{?with_memcached:BuildRequires: libmemcached-devel}
39 %{?with_microhttpd:BuildRequires: libmicrohttpd-devel}
40 %{?with_pgsql:BuildRequires: libpqxx-devel}
41 BuildRequires: libxml2-devel
42 BuildRequires: libxslt-progs
44 %{?with_mysql:BuildRequires: mysql-devel}
45 BuildRequires: net-snmp-devel
46 %{?with_ldap:BuildRequires: openldap-devel}
47 BuildRequires: openssl-devel
48 BuildRequires: pcre-devel
49 BuildRequires: perl-devel
50 BuildRequires: perl-tools-devel
51 %{?with_radius:BuildRequires: radiusclient-ng-devel}
52 BuildRequires: rpm-pythonprov
53 BuildRequires: rpmbuild(macros) >= 1.268
54 #BuildRequires: subversion
55 %{?with_odbc:BuildRequires: unixODBC-devel}
57 #BuildRequires: xmlrpc-c-devel >= 1.10.0
58 BuildRequires: zlib-devel
59 Requires(post,preun): /sbin/chkconfig
61 Suggests: python-modules
62 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64 # mi_xmlrpc requires xmlrpc-c-devel in version 1.9 only
65 # event_rabbitmq requires 'amqp.h'
66 # cachedb_cassandra requires 'protocol/TBinaryProtocol.h'
68 %define exclude_modules mi_xmlrpc db_oracle event_rabbitmq cachedb_cassandra lua
71 OpenSIPS (Open SIP Server) is a mature Open Source implementation of a
72 SIP server. OpenSIPS is more than a SIP proxy/router as it includes
73 application-level functionalities. OpenSIPS, as a SIP server, is the
74 core component of any SIP-based VoIP solution. With a very flexible
75 and customizable routing engine, OpenSIPS 'unifies voice, video, IM
76 and presence services in a highly efficient way, thanks to its
77 scalable (modular) design.
80 Summary: openSIPS MySQL module
81 Summary(pl.UTF-8): Moduł MySQL do openSIPS
82 Group: Networking/Daemons
83 Requires: %{name} = %{version}-%{release}
86 MySQL module for openSIPS.
88 %description mysql -l pl.UTF-8
89 Moduł MySQL do openSIPS.
92 Summary: openSIPS PostgreSQL module
93 Summary(pl.UTF-8): Moduł PostgreSQL do openSIPS
94 Group: Networking/Daemons
95 Requires: %{name} = %{version}-%{release}
98 PostgreSQL module for openSIPS.
100 %description postgres -l pl.UTF-8
101 Moduł PostgreSQL do openSIPS.
104 Summary: openSIPS JSON module
105 Summary(pl.UTF-8): Moduł JSON do openSIPS
106 Group: Networking/Daemons
107 Requires: %{name} = %{version}-%{release}
110 JSON module for openSIPS.
112 %description json -l pl.UTF-8
113 Moduł JSON do openSIPS.
116 Summary: openSIPS memcached module
117 Summary(pl.UTF-8): Moduł memcached do openSIPS
118 Group: Networking/Daemons
119 Requires: %{name} = %{version}-%{release}
121 %description memcached
122 Memcached module for openSIPS.
124 %description memcached -l pl.UTF-8
125 Moduł memcached do openSIPS.
128 Summary: openSIPS Radius module
129 Summary(pl.UTF-8): Moduł Radius do openSIPS
130 Group: Networking/Daemons
131 Requires: %{name} = %{version}-%{release}
134 Radius module for openSIPS.
136 %description radius -l pl.UTF-8
137 Moduł Radius do openSIPS.
140 Summary: openSIPS ODBC module
141 Summary(pl.UTF-8): Moduł ODBC do openSIPS
142 Group: Networking/Daemons
143 Requires: %{name} = %{version}-%{release}
146 ODBC module for openSIPS.
148 %description odbc -l pl.UTF-8
149 Moduł ODBC do openSIPS.
152 Summary: openSIPS perl and perlvdb modules
153 Summary(pl.UTF-8): Moduły perl i perlvdb do openSIPS
154 Group: Networking/Daemons
155 Requires: %{name} = %{version}-%{release}
158 Perl modules (perl & perlvdb) for openSIPS.
160 %description perl -l pl.UTF-8
161 Moduły perl i perlvdb do openSIPS.
164 Summary: openSIPS XMPP/Jabber modules
165 Summary(pl.UTF-8): Moduły XMPP/Jabber do openSIPS
166 Group: Networking/Daemons
167 Requires: %{name} = %{version}-%{release}
168 Obsoletes: opensips-jabber
171 XMPP/Jabber modules for openSIPS.
173 %description xmpp -l pl.UTF-8
174 Moduły XMPP/Jabber do openSIPS.
177 Summary: openSIPS LDAP and H350 modules
178 Summary(pl.UTF-8): Moduły LDAP i H350 do openSIPS
179 Group: Networking/Daemons
180 Requires: %{name} = %{version}-%{release}
183 LDAP and H350 modules for openSIPS.
185 %description ldap -l pl.UTF-8
186 Moduły LDAP i H350 do openSIPS.
188 %package carrierroute
189 Summary: openSIPS Carrierroute module
190 Summary(pl.UTF-8): Moduł Carrierroute do openSIPS
191 Group: Networking/Daemons
192 Requires: %{name} = %{version}-%{release}
194 %description carrierroute
195 Carrierroute module for openSIPS.
197 %description carrierroute -l pl.UTF-8
198 Moduł Carrierroute do openSIPS.
201 Summary: openSIPS OSP module
202 Summary(pl.UTF-8): Moduł OSP do openSIPS
203 Group: Networking/Daemons
204 Requires: %{name} = %{version}-%{release}
207 OSP module for openSIPS.
209 %description osp -l pl.UTF-8
210 Moduł OSP do openSIPS.
213 Summary: openSIPS MaxMind GeoIP module
214 Summary(pl.UTF-8): Moduł MaxMind GeoIP do openSIPS
215 Group: Networking/Daemons
216 Requires: %{name} = %{version}-%{release}
219 MaxMind GeoIP module for openSIPS.
221 %description mmgeoip -l pl.UTF-8
222 Moduł MaxMind GeoIP do openSIPS.
225 Summary: openSIPS SNMP statistics module
226 Summary(pl.UTF-8): Moduł do statystyk SNMP do openSIPS
227 Group: Networking/Daemons
228 Requires: %{name} = %{version}-%{release}
230 %description snmpstats
231 openSIPS SNMP statistics module.
233 %description snmpstats -l pl.UTF-8
234 Moduł do statystyk SNMP do openSIPS.
236 %package -n mibs-%{name}
237 Summary: MIBs for openSIPS
238 Summary(pl.UTF-8): MIB-y dla openSIPS
239 Group: Applications/System
241 Requires: mibs-net-snmp
242 Obsoletes: opensips-mibs
244 %description -n mibs-%{name}
247 %description -n mibs-%{name} -l pl.UTF-8
251 Summary: Redis interface for openSIPS
252 Summary(pl.UTF-8): Moduł Redis do openSIPS
253 Group: Networking/Daemons
254 Requires: %{name} = %{version}-%{release}
257 Redis interface for openSIPS.
259 %description redis -l pl.UTF-8
260 Moduł Redis do openSIPS.
263 Summary: HTTP interface to openSIPS
264 Summary(pl.UTF-8): Interfejs HTTP do openSIPS
265 Group: Networking/Daemons
266 Requires: %{name} = %{version}-%{release}
269 HTTP interface to openSIPS.
271 %description httpd -l pl.UTF-8
272 Interfejs HTTP do openSIPS.
275 %setup -q -n %{name}-%{version}-tls
279 exclude_modules="%{exclude_modules}"
281 exclude_modules="$exclude_modules cachedb_redis"
284 exclude_modules="$exclude_modules h350 ldap"
286 %if %{without carrierroute}
287 exclude_modules="$exclude_modules carrierroute"
290 exclude_modules="$exclude_modules osp"
292 %if %{without microhttpd}
293 exclude_modules="$exclude_modules httpd"
296 exclude_modules="$exclude_modules db_mysql"
299 exclude_modules="$exclude_modules db_postgres"
302 exclude_modules="$exclude_modules db_unixodbc"
305 exclude_modules="$exclude_modules mmgeoip"
307 %if %{without radius}
308 exclude_modules="$exclude_modules aaa_radius"
311 exclude_modules="$exclude_modules json"
313 %if %{without memcached}
314 exclude_modules="$exclude_modules cachedb_memcached"
316 echo "$exclude_modules" > exclude_modules
318 exclude_modules="$exclude_modules" \
319 prefix="%{_prefix}" \
320 cfg-prefix=$RPM_BUILD_ROOT \
321 cfg-target=/etc/opensips/ \
323 PREFIX="%{_prefix}" \
324 CFLAGS="%{rpmcflags} -Wcast-align -fPIC" \
328 rm -rf $RPM_BUILD_ROOT
329 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{ser,sysconfig,rc.d/init.d}
331 exclude_modules="$(cat exclude_modules)"
332 %{__make} install -j1 \
333 exclude_modules="$exclude_modules" \
334 prefix="%{_prefix}" \
335 basedir=$RPM_BUILD_ROOT \
336 cfg-prefix=$RPM_BUILD_ROOT \
337 cfg-target=/etc/opensips/ \
338 INSTALLMIBDIR=$RPM_BUILD_ROOT%{_datadir}/mibs
340 for i in modules/*; do \
342 [ -f modules/$i/README ] && cp -f modules/$i/README README.$i; \
345 # contains the same files we install in %doc
346 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
349 #docbook2html serdev.sgml
352 #docbook2html seruser.sgml
356 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/opensips
357 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/opensips
360 rm -rf $RPM_BUILD_ROOT
363 /sbin/chkconfig --add opensips
364 %service opensips restart "SIP Daemon"
367 if [ "$1" = "0" ]; then
368 %service opensips stop
369 /sbin/chkconfig --del opensips
373 %defattr(644,root,root,755)
374 %doc README* AUTHORS CREDITS ChangeLog INSTALL NEWS scripts examples
375 %attr(755,root,root) %{_sbindir}/*
376 %dir %{_sysconfdir}/opensips
377 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/opensips/opensips.cfg
378 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/opensips/opensipsctlrc
379 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/opensips/osipsconsolerc
380 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/opensips
381 %attr(754,root,root) /etc/rc.d/init.d/opensips
382 %dir %{_libdir}/opensips
383 %dir %{_libdir}/opensips/opensipsctl
384 %{_libdir}/opensips/opensipsctl/*.*
385 %dir %{_libdir}/opensips/opensipsctl/dbtextdb
386 %attr(755,root,root) %{_libdir}/opensips/opensipsctl/dbtextdb/dbtextdb.py
387 %dir %{_libdir}/opensips/modules
388 # explict list here, no globs please (to avoid mistakes)
389 %attr(755,root,root) %{_libdir}/opensips/modules/acc.so
390 %attr(755,root,root) %{_libdir}/opensips/modules/alias_db.so
391 %attr(755,root,root) %{_libdir}/opensips/modules/auth.so
392 %attr(755,root,root) %{_libdir}/opensips/modules/auth_aaa.so
393 %attr(755,root,root) %{_libdir}/opensips/modules/auth_db.so
394 %attr(755,root,root) %{_libdir}/opensips/modules/auth_diameter.so
395 %attr(755,root,root) %{_libdir}/opensips/modules/avpops.so
396 %attr(755,root,root) %{_libdir}/opensips/modules/b2b_entities.so
397 %attr(755,root,root) %{_libdir}/opensips/modules/b2b_logic.so
398 %attr(755,root,root) %{_libdir}/opensips/modules/benchmark.so
399 %attr(755,root,root) %{_libdir}/opensips/modules/cachedb_local.so
400 %attr(755,root,root) %{_libdir}/opensips/modules/call_control.so
401 %attr(755,root,root) %{_libdir}/opensips/modules/cfgutils.so
402 %attr(755,root,root) %{_libdir}/opensips/modules/closeddial.so
403 %attr(755,root,root) %{_libdir}/opensips/modules/cpl-c.so
404 %attr(755,root,root) %{_libdir}/opensips/modules/db_berkeley.so
405 %attr(755,root,root) %{_libdir}/opensips/modules/db_flatstore.so
406 %attr(755,root,root) %{_libdir}/opensips/modules/db_http.so
407 %attr(755,root,root) %{_libdir}/opensips/modules/db_text.so
408 %attr(755,root,root) %{_libdir}/opensips/modules/db_virtual.so
409 %attr(755,root,root) %{_libdir}/opensips/modules/dialog.so
410 %attr(755,root,root) %{_libdir}/opensips/modules/dialplan.so
411 %attr(755,root,root) %{_libdir}/opensips/modules/dispatcher.so
412 %attr(755,root,root) %{_libdir}/opensips/modules/diversion.so
413 %attr(755,root,root) %{_libdir}/opensips/modules/dns_cache.so
414 %attr(755,root,root) %{_libdir}/opensips/modules/domain.so
415 %attr(755,root,root) %{_libdir}/opensips/modules/domainpolicy.so
416 %attr(755,root,root) %{_libdir}/opensips/modules/drouting.so
417 %attr(755,root,root) %{_libdir}/opensips/modules/enum.so
418 %attr(755,root,root) %{_libdir}/opensips/modules/event_datagram.so
419 %attr(755,root,root) %{_libdir}/opensips/modules/exec.so
420 %attr(755,root,root) %{_libdir}/opensips/modules/gflags.so
421 %attr(755,root,root) %{_libdir}/opensips/modules/group.so
422 %attr(755,root,root) %{_libdir}/opensips/modules/identity.so
423 %attr(755,root,root) %{_libdir}/opensips/modules/imc.so
424 %attr(755,root,root) %{_libdir}/opensips/modules/load_balancer.so
425 %attr(755,root,root) %{_libdir}/opensips/modules/mangler.so
426 %attr(755,root,root) %{_libdir}/opensips/modules/maxfwd.so
427 %attr(755,root,root) %{_libdir}/opensips/modules/mediaproxy.so
428 %attr(755,root,root) %{_libdir}/opensips/modules/mi_datagram.so
429 %attr(755,root,root) %{_libdir}/opensips/modules/mi_fifo.so
430 %attr(755,root,root) %{_libdir}/opensips/modules/msilo.so
431 %attr(755,root,root) %{_libdir}/opensips/modules/nat_traversal.so
432 %attr(755,root,root) %{_libdir}/opensips/modules/nathelper.so
433 %attr(755,root,root) %{_libdir}/opensips/modules/options.so
434 %attr(755,root,root) %{_libdir}/opensips/modules/path.so
435 %attr(755,root,root) %{_libdir}/opensips/modules/pdt.so
436 %attr(755,root,root) %{_libdir}/opensips/modules/peering.so
437 %attr(755,root,root) %{_libdir}/opensips/modules/permissions.so
438 %attr(755,root,root) %{_libdir}/opensips/modules/pike.so
439 %attr(755,root,root) %{_libdir}/opensips/modules/presence.so
440 %attr(755,root,root) %{_libdir}/opensips/modules/presence_callinfo.so
441 %attr(755,root,root) %{_libdir}/opensips/modules/presence_dialoginfo.so
442 %attr(755,root,root) %{_libdir}/opensips/modules/presence_mwi.so
443 %attr(755,root,root) %{_libdir}/opensips/modules/presence_xcapdiff.so
444 %attr(755,root,root) %{_libdir}/opensips/modules/presence_xml.so
445 %attr(755,root,root) %{_libdir}/opensips/modules/pua.so
446 %attr(755,root,root) %{_libdir}/opensips/modules/pua_bla.so
447 %attr(755,root,root) %{_libdir}/opensips/modules/pua_dialoginfo.so
448 %attr(755,root,root) %{_libdir}/opensips/modules/pua_mi.so
449 %attr(755,root,root) %{_libdir}/opensips/modules/pua_usrloc.so
450 %attr(755,root,root) %{_libdir}/opensips/modules/python.so
451 %attr(755,root,root) %{_libdir}/opensips/modules/qos.so
452 %attr(755,root,root) %{_libdir}/opensips/modules/ratelimit.so
453 %attr(755,root,root) %{_libdir}/opensips/modules/regex.so
454 %attr(755,root,root) %{_libdir}/opensips/modules/registrar.so
455 %attr(755,root,root) %{_libdir}/opensips/modules/rls.so
456 %attr(755,root,root) %{_libdir}/opensips/modules/rr.so
457 %attr(755,root,root) %{_libdir}/opensips/modules/rtpproxy.so
458 %attr(755,root,root) %{_libdir}/opensips/modules/seas.so
459 %attr(755,root,root) %{_libdir}/opensips/modules/signaling.so
460 %attr(755,root,root) %{_libdir}/opensips/modules/sipcapture.so
461 %attr(755,root,root) %{_libdir}/opensips/modules/sipmsgops.so
462 %attr(755,root,root) %{_libdir}/opensips/modules/siptrace.so
463 %attr(755,root,root) %{_libdir}/opensips/modules/sl.so
464 %attr(755,root,root) %{_libdir}/opensips/modules/sms.so
465 %attr(755,root,root) %{_libdir}/opensips/modules/speeddial.so
466 %attr(755,root,root) %{_libdir}/opensips/modules/sst.so
467 %attr(755,root,root) %{_libdir}/opensips/modules/statistics.so
468 %attr(755,root,root) %{_libdir}/opensips/modules/stun.so
469 %attr(755,root,root) %{_libdir}/opensips/modules/textops.so
470 %attr(755,root,root) %{_libdir}/opensips/modules/tlsops.so
471 %attr(755,root,root) %{_libdir}/opensips/modules/tm.so
472 %attr(755,root,root) %{_libdir}/opensips/modules/uac.so
473 %attr(755,root,root) %{_libdir}/opensips/modules/uac_auth.so
474 %attr(755,root,root) %{_libdir}/opensips/modules/uac_redirect.so
475 %attr(755,root,root) %{_libdir}/opensips/modules/uac_registrant.so
476 %attr(755,root,root) %{_libdir}/opensips/modules/uri.so
477 %attr(755,root,root) %{_libdir}/opensips/modules/userblacklist.so
478 %attr(755,root,root) %{_libdir}/opensips/modules/usrloc.so
479 %attr(755,root,root) %{_libdir}/opensips/modules/xcap_client.so
480 %dir %{_datadir}/%{name}
481 %{_datadir}/%{name}/db_berkeley
482 %{_datadir}/%{name}/dbtext
483 %{_datadir}/%{name}/menuconfig_templates
487 %defattr(644,root,root,755)
488 %attr(755,root,root) %{_libdir}/opensips/modules/jabber.so
489 %attr(755,root,root) %{_libdir}/opensips/modules/xmpp.so
490 %attr(755,root,root) %{_libdir}/opensips/modules/pua_xmpp.so
494 %defattr(644,root,root,755)
495 %attr(755,root,root) %{_libdir}/opensips/modules/db_mysql.so
496 %{_datadir}/%{name}/mysql
501 %defattr(644,root,root,755)
502 %attr(755,root,root) %{_libdir}/opensips/modules/db_postgres.so
503 %{_datadir}/%{name}/postgres
508 %defattr(644,root,root,755)
509 %attr(755,root,root) %{_libdir}/opensips/modules/json.so
512 %if %{with memcached}
514 %defattr(644,root,root,755)
515 %attr(755,root,root) %{_libdir}/opensips/modules/cachedb_memcached.so
520 %defattr(644,root,root,755)
521 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/opensips/dictionary.opensips
522 %attr(755,root,root) %{_libdir}/opensips/modules/aaa_radius.so
527 %defattr(644,root,root,755)
528 %attr(755,root,root) %{_libdir}/opensips/modules/db_unixodbc.so
533 %defattr(644,root,root,755)
534 %attr(755,root,root) %{_libdir}/opensips/modules/mmgeoip.so
539 %defattr(644,root,root,755)
540 %attr(755,root,root) %{_libdir}/opensips/modules/h350.so
541 %attr(755,root,root) %{_libdir}/opensips/modules/ldap.so
544 %if %{with carrierroute}
546 %defattr(644,root,root,755)
547 %attr(755,root,root) %{_libdir}/opensips/modules/carrierroute.so
552 %defattr(644,root,root,755)
553 %attr(755,root,root) %{_libdir}/opensips/modules/osp.so
557 %defattr(644,root,root,755)
558 %attr(755,root,root) %{_libdir}/opensips/modules/snmpstats.so
561 %defattr(644,root,root,755)
562 %attr(755,root,root) %{_libdir}/opensips/modules/perl.so
563 %attr(755,root,root) %{_libdir}/opensips/modules/perlvdb.so
565 %files -n mibs-%{name}
566 %defattr(644,root,root,755)
571 %defattr(644,root,root,755)
572 %attr(755,root,root) %{_libdir}/opensips/modules/cachedb_redis.so
575 %if %{with microhttpd}
577 %defattr(644,root,root,755)
578 %attr(755,root,root) %{_libdir}/opensips/modules/httpd.so
579 %attr(755,root,root) %{_libdir}/opensips/modules/mi_http.so