/
opensips.spec
2136 lines (1745 loc) · 69.8 KB
/
opensips.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%if 0%{?rhel} > 0 && 0%{?rhel} < 8
# copied from lm_sensors exclusive arch
%ifnarch alpha i386 i486 i586 i686 pentium3 pentium4 athlon x86_64
%global _without_snmpstats 1
%endif
%endif
%if 0%{?el5:1}
%global _without_db_perlvdb 1
%endif
%if 0%{?rhel} > 6 || 0%{?fedora} > 20
%global _with_cachedb_redis 1
%endif
%if 0%{?rhel} > 6 && 0%{?rhel} < 8
%global _with_cachedb_mongodb 1
%endif
%if 0%{?fedora} > 21
%global _with_cachedb_mongodb 1
%endif
%if 0%{?rhel} > 7 || 0%{?fedora} > 23
%global _without_aaa_radius 1
%endif
%if 0%{?rhel} > 7 || 0%{?fedora} > 30
%global _without_python 1
%endif
%global EXCLUDE_MODULES %{!?_with_cachedb_cassandra:cachedb_cassandra} %{!?_with_cachedb_couchbase:cachedb_couchbase} %{!?_with_cachedb_mongodb:cachedb_mongodb} %{!?_with_cachedb_redis:cachedb_redis} %{!?_with_db_oracle:db_oracle} %{!?_with_osp:osp} %{!?_with_sngtc:sngtc} %{?_without_aaa_radius:aaa_radius} %{?_without_db_perlvdb:db_perlvdb} %{?_without_snmpstats:snmpstats} %{?_without_python:python}
Summary: Open Source SIP Server
Name: opensips
Version: 2.4.7
Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Daemons
Source0: http://download.opensips.org/%{name}-%{version}.tar.gz
URL: https://opensips.org
BuildRequires: expat-devel
BuildRequires: libxml2-devel
BuildRequires: bison
BuildRequires: flex
BuildRequires: subversion
BuildRequires: which
BuildRequires: mysql-devel
BuildRequires: postgresql-devel
Requires: m4
BuildRequires: net-snmp-devel
BuildRequires: unixODBC-devel
BuildRequires: openssl-devel
BuildRequires: expat-devel
BuildRequires: xmlrpc-c-devel
BuildRequires: libconfuse-devel
%if 0%{?rhel} > 0 && 0%{?rhel} < 8
BuildRequires: db4-devel
%else
BuildRequires: libdb-devel
%endif
BuildRequires: openldap-devel
BuildRequires: curl-devel
BuildRequires: GeoIP-devel
BuildRequires: pcre-devel
%if 0%{!?_without_python:1}
BuildRequires: python-devel
%endif
%if 0%{?fedora} > 16 || 0%{?rhel} > 6
BuildRequires: systemd-units
%endif
BuildRequires: libxslt
BuildRequires: lynx
BuildRequires: ncurses-devel
BuildRequires: json-c-devel
#Initscripts
%if 0%{?fedora} > 16 || 0%{?rhel} > 6
# Users and groups
Requires(pre): shadow-utils
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%else
Requires(post): chkconfig
Requires(preun):chkconfig
Requires(preun):initscripts
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%description
OpenSIPS or Open SIP Server is a very fast and flexible SIP (RFC3261)
proxy server. Written entirely in C, opensips can handle thousands calls
per second even on low-budget hardware. A C Shell like scripting language
provides full control over the server's behaviour. It's modular
architecture allows only required functionality to be loaded.
Currently the following modules are available: digest authentication,
CPL scripts, instant messaging, MySQL and UNIXODBC support, a presence agent,
radius authentication, record routing, an SMS gateway, a jabber gateway, a
transaction and dialog module, OSP module, statistics support,
registrar and user location.
%if 0%{!?_without_aaa_radius:1}
%package aaa_radius
Summary: RADIUS backend for AAA api
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
BuildRequires: radiusclient-ng-devel
%description aaa_radius
This module provides the RADIUS backend for the AAA API - group, auth, uri
module use the AAA API for performing RADIUS ops.
%endif
%package acc
Summary: Accounts transactions information to different backends
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description acc
ACC module is used to account transactions information to different backends
like syslog, SQL, AAA.
%package auth_aaa
Summary: Performs authentication using an AAA server
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description auth_aaa
This module contains functions that are used to perform authentication using
an AAA server. Basically the proxy will pass along the credentials to the
AAA server which will in turn send a reply containing result of the
authentication. So basically the whole authentication is done in the AAA
server.
%package b2bua
Summary: Back-2-Back User Agent
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description b2bua
B2BUA is an implementation of the behavior of a B2BUA as defined in RFC 3261
that offers the possibility to build certain services on top of it.
%if 0%{?_with_cachedb_cassandra:1}
%package cachedb_cassandra
Summary: Cassandra connector
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
BuildRequires: thrift-cpp-devel
%description cachedb_cassandra
Cassandra module is an implementation of a cache system designed to
work with a cassandra server.
%endif
%if 0%{?_with_cachedb_couchbase:1}
Summary: opensips cachedb_couchbase implementation.
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
BuildRequires: libcouchbase-devel
%description cachedb_couchbase
This module is an implementation of a cache system designed to work with a Couchbase server.
It uses the libcouchbase client library to connect to the server instance,
It uses the Key-Value interface exported from the core.
%endif
%package cachedb_memcached
Summary: Memcached connector
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
BuildRequires: libmemcached-devel
%description cachedb_memcached
Memcached module is an implementation of a cache system designed to
work with a memcached server.
%if 0%{?_with_cachedb_mongodb:1}
%package cachedb_mongodb
Summary: Mongodb connector
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
BuildRequires: mongo-c-driver-devel
BuildRequires: cyrus-sasl-devel
%description cachedb_mongodb
Mongodb module is an implementation of a cache system designed to
work with a mongodb server.
%endif
%if 0%{?_with_cachedb_redis:1}
%package cachedb_redis
Summary: Redis connector
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
BuildRequires: hiredis-devel
%description cachedb_redis
This module is an implementation of a cache system designed to work
with a Redis server.
%endif
%package carrierroute
Summary: Routing extension suitable for carriers
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description carrierroute
A module which provides routing, balancing and blacklisting capabilities.
%package clusterer
Summary: Define and configure an OpenSIPS cluster
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description clusterer
Clusterer module stores information about the status of a server belonging to
a cluster.
%package compression
Summary: Message compression and compaction
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
BuildRequires: zlib-devel
%description compression
This module implements message compression/decompression and base64 encoding
for sip messages using deflate and gzip algorithm/headers. Another feature of
this module is reducing headers to compact for as specified in SIP RFC's, sdp
body codec unnecessary description removal (for codecs 0-97), whitelist for
headers not be removed (excepting necessary headers).
%package cpl_c
Summary: Call Processing Language interpreter
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description cpl_c
This module implements a CPL (Call Processing Language) interpreter.
Support for uploading/downloading/removing scripts via SIP REGISTER method
is present.
%package cgrates
Summary: CGRateS connector
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description cgrates
This module implements a connector to the CGRateS billing/rating engine.
%package db_berkeley
Summary: Berkeley DB backend support
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description db_berkeley
This is a module which integrates the Berkeley DB into OpenSIPS. It implements
the DB API defined in OpenSIPS.
%package db_http
Summary: HTTP DB backend support
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description db_http
This module provides access to a database that is implemented as a
HTTP server.
%package db_mysql
Summary: MySQL Storage Support for the OpenSIPS
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: mysql-libs
%description db_mysql
The %{name}-db_mysql package contains the MySQL plugin for %{name}, which allows
a MySQL-Database to be used for persistent storage.
%if 0%{?_with_db_oracle:1}
%package db_oracle
Summary: Oracle Storage Support for the OpenSIPS
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
BuildRequires: oracle-instantclient-devel
%description db_oracle
The %{name}-db_oracle package contains the Oracle plugin for %{name}, which allows
a Oracle-Database to be used for persistent storage.
%endif
%if 0%{!?_without_db_perlvdb:1}
%package db_perlvdb
Summary: Perl virtual database engine
Group: System Environment/Daemons
# require perl-devel for >F7 and perl for <=F6
BuildRequires: perl(ExtUtils::MakeMaker)
Requires: %{name} = %{version}-%{release}
Requires: %{name}-perl
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%description db_perlvdb
The Perl Virtual Database (VDB) provides a virtualization framework for
OpenSIPS's database access. It does not handle a particular database engine
itself but lets the user relay database requests to arbitrary Perl functions.
%endif
%package db_postgresql
Summary: PostgreSQL Storage Support for the OpenSIPS
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: postgresql-libs
%description db_postgresql
The %{name}-db_postgresql package contains the PostgreSQL plugin for %{name},
which allows a PostgreSQL-Database to be used for persistent storage.
%package db_sqlite
Summary: SQLITE3-backend for database API module
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
BuildRequires: sqlite-devel
%description db_sqlite
This is a module which provides SQLite support for OpenSIPS. It implements
the DB API defined in OpenSIPS.
%package db_unixodbc
Summary: OpenSIPS unixODBC Storage support
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description db_unixodbc
The %{name}-unixodbc package contains the unixODBC plugin for %{name}, which
allows a unixODBC to be used for persistent storage
%package emergency
Summary: Emergency module
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description emergency
The emergency module provides emergency call treatment for OpenSIPS, following
the architecture i2 specification of the american entity NENA. (National
Emergency Number Association). The NENA solution routes the emergency call to
a closer gateway (ESGW) and this forward the call to a PSAP(call center
responsible for answering emergency calls) that serves the area of the caller,
so this must consider the handling and transport of caller location information
in the SIP protocol.
%package event_datagram
Summary: Event datagram module
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description event_datagram
This is a module which provides a UNIX/UDP SOCKET transport layer
implementation for the Event Interface.
%package event_flatstore
Summary: Event flatstore module
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description event_flatstore
Flatstore module provides a logging facility for different
events, triggered through the OpenSIPS Event Interface,
directly from the OpenSIPS script. The module logs the events
along with their parameters in regular text files.
%package event_jsonrpc
Summary: Sends events using JSON-RPC command
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description event_jsonrpc
This module is an implementation of an JSON-RPC v2.0 client
http://www.jsonrpc.org/specification. that can send a RPC to a
JSON-RPC server (when used in sync_mode), or send a
notification (when sync_mode is disabled) whenever whenever
OpenSIPS raises a notification through the Event Interface.
This module acts as a transport layer for the Event
Notification Interface.
%package event_rabbitmq
Summary: Event RabbitMQ module
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
BuildRequires: librabbitmq-devel
%description event_rabbitmq
This module provides the implementation of a RabbitMQ client for the Event Interface.
It is used to send AMQP messages to a RabbitMQ server each time the Event Interface
triggers an event subscribed for.
%package event_route
Summary: Route triggering based on events
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description event_route
This module provides a simple way for handling different events, triggered through
the OpenSIPS Event Interface, directly from the OpenSIPS script. For a specific event,
a special route (event_route) has to be declared in the script, and should contain
the code that handles the event. The route is executed by the module when the
corresponding event is raised by the OpenSIPS Event Interface.
%package event_routing
Summary: Event based SIP routing
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description event_routing
The Event (based) Routing module, or shortly the EBR module, provides a mechanism
that allows different SIP processings (of messages in script) to communicate and
synchronize between through OpenSIPS Events.
%package event_virtual
Summary: Aggregator of event backends (failover & balancing)
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description event_virtual
Virtual module provides the possibility to have multiple external applications,
using different transport protocols, subscribed to the OpenSIPS Event Interface
as a single virtual subscriber, for a specific event.
%package event_xmlrpc
Summary: Event XMLRPC client module
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description event_xmlrpc
This module is an implementation of an XMLRPC client used to notify XMLRPC servers
whenever certain notifications are raised by OpenSIPS. It acts as a transport layer
for the Event Notification Interface.
%package fraud_detection
Summary: Detects fraudulent calls
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description fraud_detection
This module provides a way to prevent some basic fraud attacks. Alerts are provided
through return codes and events.
%package freeswitch
Summary: FreeSWITCH ESL connection manager
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description freeswitch
The "freeswitch" module is a C driver for the FreeSWITCH Event Socket Layer interface.
It can interact with one or more FreeSWITCH servers either by issuing commands to them,
or by receiving events from them.
%package freeswitch_scripting
Summary: FreeSWITCH events & commands at OpenSIPS script level
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description freeswitch_scripting
freeswitch_scripting is a helper module that exposes full control over the FreeSWITCH ESL
interface to the OpenSIPS script.
It allows the OpenSIPS script writer to subscribe to generic FreeSWITCH ESL events as
well as to run arbitrary FreeSWITCH ESL commands and interpret their results. It makes
use of the freeswitch module for the management of ESL connections and event subscriptions.
%package h350
Summary: H350 implementation
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description h350
The OpenSIPS H350 module enables an OpenSIPS SIP proxy server to access SIP
account data stored in an LDAP [RFC4510] directory containing H.350 [H.350]
commObjects.
%package httpd
Summary: HTTP transport layer implementation
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
BuildRequires: libmicrohttpd-devel
%description httpd
This module provides an HTTP transport layer for OpenSIPS.
%package jabber
Summary: Gateway between OpenSIPS and a jabber server
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description jabber
Jabber module that integrates XODE XML parser for parsing Jabber messages.
%package json
Summary: A JSON variables within the script
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description json
This module introduces a new type of variable that provides both serialization and
de-serialization from JSON format.
%package jsonrpc
Summary: Execute JSON-RPC commands
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description jsonrpc
This module is an implementation of an JSON-RPC v2.0 client
http://www.jsonrpc.org/specification. that can send a call
to a JSON-RPC server over a TCP connection.
%package ldap
Summary: LDAP connector
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description ldap
The LDAP module implements an LDAP search interface for OpenSIPS.
%package lua
Summary: Call LUA scripts from OpenSIPS cfg
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%if 0%{?rhel} > 7 || 0%{?fedora} > 0
BuildRequires: compat-lua-devel
%else
BuildRequires: lua-devel
%endif
%description lua
The time needed when writing a new OpenSIPS module unfortunately
is quite high, while the options provided by the configuration file
are limited to the features implemented in the modules.
%package mid_registrar
Summary: SIP registration front-end with traffic throttling
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description mid_registrar
The mid_registrar is a mid-component of a SIP platform, designed to
work between end users and the platform's main registration component.
It opens up new possibilities for leveraging existing infrastructure
in order to continue to grow (as subscribers and as registration traffic)
while keeping an existing low-resources registrar server.
%package mi_xmlrpc
Summary: A xmlrpc server
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: %{name}-httpd
%description mi_xmlrpc
This module implements a xmlrpc server that handles xmlrpc requests and generates
xmlrpc responses. When a xmlrpc message is received a default method is executed.
%package mmgeoip
Summary: Wrapper for the MaxMind GeoIP API
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description mmgeoip
Mmgeoip is a lightweight wrapper for the MaxMind GeoIP API. It adds
IP address-to-location lookup capability to OpenSIPS scripts.
%if 0%{?_with_osp:1}
%package osp
Summary: OSP Support for the OpenSIPS
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
BuildRequires: OSPToolkit-devel
%description osp
The OSP module enables OpenSIPS to support secure, multi-lateral peering using
the OSP standard defined by ETSI (TS 101 321 V4.1.1).
%endif
%package peering
Summary: Radius peering
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description peering
Peering module allows SIP providers (operators or organizations)
to verify from a broker if source or destination of a SIP request
is a trusted peer.
%package perl
Summary: Helps implement your own OpenSIPS extensions in Perl
Group: System Environment/Daemons
BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: perl-devel
BuildRequires: perl(ExtUtils::Embed)
Requires: %{name} = %{version}-%{release}
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%description perl
The time needed when writing a new OpenSIPS module unfortunately is quite
high, while the options provided by the configuration file are limited to
the features implemented in the modules. With this Perl module, you can
easily implement your own OpenSIPS extensions in Perl. This allows for
simple access to the full world of CPAN modules. SIP URI rewriting could be
implemented based on regular expressions; accessing arbitrary data backends,
e.g. LDAP or Berkeley DB files, is now extremely simple.
%package pi_http
Summary: Provisioning Interface module
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description pi_http
This module provides an HTTP provisioning interface for OpenSIPS. It is using the
OpenSIPS's internal database API to provide a simple way of manipulating records
inside OpenSIPS's tables.
%package presence
Summary: Presence server
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description presence
This module implements a presence server. It handles PUBLISH and SUBSCRIBE
messages and generates NOTIFY messages. It offers support for aggregation
of published presence information for the same presentity using more devices.
It can also filter the information provided to watchers according to privacy
rules.
%package presence_callinfo
Summary: SIMPLE Presence extension
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: %{name}-presence
%description presence_callinfo
The module enables the handling of "call-info" and "line-seize" events inside
the presence module. It is used with the general event handling module:
presence and it constructs and adds "Call-Info" headers to notification events.
To send "call-info" notification to watchers, a third-party application must
publish "call-info" events to the presence server.
%package presence_dialoginfo
Summary: Extension to Presence server for Dialog-Info
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: %{name}-presence
%description presence_dialoginfo
The module enables the handling of "Event: dialog" (as defined
in RFC 4235) inside of the presence module. This can be used
distribute the dialog-info status to the subscribed watchers.
%package presence_mwi
Summary: Extension to Presence server for Message Waiting Indication
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: %{name}-presence
%description presence_mwi
The module does specific handling for notify-subscribe message-summary
(message waiting indication) events as specified in RFC 3842. It is used
with the general event handling module, presence. It constructs and adds
message-summary event to it.
%package presence_xcapdiff
Summary: Extension to Presence server for XCAP-DIFF event
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: %{name}-presence
Requires: %{name}-pua_mi
%description presence_xcapdiff
The presence_xcapdiff is an OpenSIPS module that adds support
for the "xcap-diff" event to presence and pua.
%package presence_xml
Summary: SIMPLE Presence extension
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: %{name}-presence
Requires: %{name}-xcap_client
%description presence_xml
The module does specific handling for notify-subscribe events using xml bodies.
It is used with the general event handling module, presence.
%package proto_bin
Summary: BIN protocol module - implements binary transport for OpenSIPS
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description proto_bin
The proto_bin module is a transport module which implements BIN
TCP-based communication. It does not handle TCP connections
management, but only offers higher-level primitives to read and
write BIN messages over TCP. It calls registered callback
functions for every complete message received.
%package proto_hep
Summary: HEP protocol module - implements HEP transport for SIP
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description proto_hep
The proto_hep module is a transport module which implements hepV1
and hepV2 UDP-based communication and hepV3 TCP-based communication.
It also offers an API with which you can register callbacks which
are called after the HEP header is parsed and also can pack sip
messages to HEP messages.The unpacking part is done internally.
%package proto_sctp
Summary: SCTP protocol module - implements SCTP transport for SIP
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: lksctp-tools
BuildRequires: lksctp-tools-devel
%description proto_sctp
The proto_sctp module is an optional transport module (shared library) which exports
the required logic in order to handle SCTP-based communication. (socket initialization
and send/recv primitives to be used by higher-level network layers)
%package proto_tls
Summary: TLS protocol module - implements TLS transport for SIP
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: openssl
BuildRequires: openssl-devel
%description proto_tls
TLS, as defined in SIP RFC 3261, is a mandatory feature for proxies and can be used
to secure the SIP signalling on a hop-by-hop basis (not end-to-end). TLS works on top
of TCP. DTLS, or TLS over UDP is already defined by IETF and may become available in
the future. This module also implements TLS related functions to use in the routing
script, and exports pseudo variables with certificate and TLS parameters.
%package proto_ws
Summary: WebSocket protocol module - implements WS transport for SIP
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description proto_ws
The WebSocket protocol (RFC 6455) provides an end-to-end full-duplex communication
channel between two web-based applications. This allows WebSocket enabled browsers
to connect to a WebSocket server and exchange any type of data. RFC 7118 provides
the specifications for transporting SIP messages over the WebSocket protocol.
%package proto_wss
Summary: WebSocket protocol module - implements WSS transport for SIP
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description proto_wss
The WebSocket protocol (RFC 6455) provides an end-to-end full-duplex communication
channel between two web-based applications. This allows WebSocket enabled browsers
to connect to a WebSocket server and exchange any type of data. RFC 7118 provides
the specifications for transporting SIP messages over the WebSocket protocol.
%package pua
Summary: Offer the functionality of a presence user agent client
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description pua
This module offer the functionality of a presence user agent client, sending
Subscribe and Publish messages.
%package pua_bla
Summary: BLA extension for PUA
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: %{name}-pua
Requires: %{name}-presence
%description pua_bla
The pua_bla module enables Bridged Line Appearances support according to the
specifications in draft-anil-sipping-bla-03.txt.
%package pua_dialoginfo
Summary: Dialog-Info extension for PUA
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: %{name}-pua
%description pua_dialoginfo
The pua_dialoginfo retrieves dialog state information from the
dialog module and PUBLISHes the dialog-information using the
pua module. Thus, in combination with the presence_xml module
this can be used to derive dialog-info from the dialog module
and NOTIFY the subscribed watchers about dialog-info changes.
%package pua_mi
Summary: Connector between usrloc and MI interface
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: %{name}-pua
%description pua_mi
The pua_mi sends offer the possibility to publish presence information
via MI transports. Using this module you can create independent
applications/scripts to publish not sip-related information (e.g., system
resources like CPU-usage, memory, number of active subscribers ...)
%package pua_usrloc
Summary: Connector between usrloc and pua modules
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: %{name}-pua
%description pua_usrloc
This module is the connector between usrloc and pua modules. It creates the
environment to send PUBLISH requests for user location records, on specific
events (e.g., when new record is added in usrloc, a PUBLISH with status open
(online) is issued; when expires, it sends closed (offline)). Using this
module, phones which have no support for presence can be seen as
online/offline.
%package pua_xmpp
Summary: SIMPLE-XMPP Presence gateway
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: %{name}-pua
Requires: %{name}-presence
Requires: %{name}-xmpp
%description pua_xmpp
This module is a gateway for presence between SIP and XMPP. It translates one
format into another and uses xmpp, pua and presence modules to manage the
transmition of presence state information.
%if 0%{!?_without_python:1}
%package python
Summary: Python scripting support
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description python
Helps implement your own OpenSIPS extensions in Python
%endif
%package rabbitmq
Summary: RabbitMQ module
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
BuildRequires: librabbitmq-devel
%description rabbitmq
This module provides the implementation of a RabbitMQ publisher.
%package regex
Summary: RegExp via PCRE library
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description regex
This module offers matching operations against regular
expressions using the powerful PCRE library.
%package rest_client
Summary: Implementation of an HTTP client
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description rest_client
The rest_client module provides a means of interacting with an HTTP server
by doing RESTful queries, such as GET and POST.
%package rls
Summary: Resource List Server
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: %{name}-pua
Requires: %{name}-presence
Requires: %{name}-xcap
%description rls
The modules is a Resource List Server implementation following the
specification in RFC 4662 and RFC 4826.
%package rtpengine
Summary: Connector to RTPengine external RTP relay
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description rtpengine
This is a module that enables media streams to be proxied via an RTP proxy. The only
RTP proxy currently known to work with this module is the Sipwise rtpengine
https://github.com/sipwise/rtpengine. The rtpengine module is a modified version of
the original rtpproxy module using a new control protocol. The module is designed to
be a drop-in replacement for the old module from a configuration file point of view,
however due to the incompatible control protocol, it only works with RTP proxies which
specifically support it.
%package seas
Summary: Transfers the execution logic control to a given external entity
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description seas
SEAS module enables OpenSIPS to transfer the execution logic control of a sip
message to a given external entity, called the Application Server. When the
OpenSIPS script is being executed on an incoming SIP message, invocation of
the as_relay_t() function makes this module send the message along with some
transaction information to the specified Application Server. The Application
Server then executes some call-control logic code, and tells OpenSIPS to take
some actions, ie. forward the message downstream, or respond to the message
with a SIP repy, etc
%package sip_i
Summary: ISUP manipulation module
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description sip_i
This module offers the possibility of processing ISDN User Part(ISUP) messages
encapsulated in SIP. The available operations are: reading and modifying parameters
from an ISUP message, removing or adding new optional parameters, adding an ISUP part
to a SIP message body. This is done explicitly via script pseudovariables and functions.
%package siprec
Summary: SIP Recording module
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
BuildRequires: libuuid-devel
%description siprec
This module provides the means to do calls recording using an external/passive recorder -
the entity that records the call is not in the media path between the caller and callee,
but it is completely separate, thus it can not affect by any means the quality of the
conversation. This is done in a standardized manner, using the SIPREC Protocol, thus it
can be used by any recorder that implements this protocol.
%package sms
Summary: Gateway between SIP and GSM networks via sms
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description sms
This module provides a way of communication between SIP network (via SIP
MESSAGE) and GSM networks (via ShortMessageService). Communication is
possible from SIP to SMS and vice versa. The module provides facilities
like SMS confirmation--the gateway can confirm to the SIP user if his
message really reached its destination as a SMS--or multi-part messages--if
a SIP messages is too long it will be split and sent as multiple SMS.
%if 0%{?_with_sngtc:1}
%package sngtc
Summary: Sangoma media transcoding interface for the OpenSIPS
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description sngtc
The sngtc package implements interface to Sangoma media transcoding.
%endif
%if 0%{!?_without_snmpstats:1}
%package snmpstats
Summary: SNMP management interface for the OpenSIPS
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
BuildRequires: lm_sensors-devel
%description snmpstats
The %{name}-snmpstats package provides an SNMP management interface to
OpenSIPS. Specifically, it provides general SNMP queryable scalar statistics,
table representations of more complicated data such as user and contact
information, and alarm monitoring capabilities.
%endif
%package tls_mgm
Summary: TLS management module
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description tls_mgm
This module is a management module for TLS certificates and parameters.
It provides an interfaces for all the modules that use the TLS protocol.
It also implements TLS related functions to use in the routing script,
and exports pseudo variables with certificate and TLS parameters.
%package sql_cacher
Summary: SQL Caching module
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
%description sql_cacher
The sql_cacher module introduces the possibility to cache data from a SQL-based database
(using different OpenSIPS modules which implement the DB API) into a cache system
implemented in OpenSIPS through the CacheDB Interface. This is done by specifying the
databases URLs, SQL table to be used, desired columns to be cached and other details in
the OpenSIPS configuration script.
%package topology_hiding
Summary: Provides Topology Hiding capabilities
Group: System Environment/Daemons