90b0c920972f99bd2314face0b14e1df3f4fb4fb
[feed/telephony.git] / net / kamailio-5.x / Makefile
1 #
2 # Copyright (C) 2017 OpenWrt.org
3 # Copyright (C) 2017 Jiri Slachta
4 #
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
7 #
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=kamailio5
12 PKG_VERSION:=5.4.0
13 PKG_RELEASE:=2
14
15 PKG_SOURCE_URL:=https://www.kamailio.org/pub/kamailio/$(PKG_VERSION)/src
16 PKG_SOURCE:=kamailio-$(PKG_VERSION)$(PKG_VARIANT)_src.tar.gz
17 PKG_HASH:=9ee22d566a7b6f60eaf283e95ee6633046dc87117be03b6cf2bc27293087718b
18 PKG_USE_MIPS16:=0
19
20 PKG_LICENSE:=GPL-2.0+
21 PKG_LICENSE_FILES:=COPYING
22 PKG_MAINTAINER:=Jiri Slachta <jiri@slachta.eu>
23
24 PKG_INSTALL:=1
25
26 PKG_BUILD_PARALLEL:=1
27
28 MODULES_AVAILABLE:= \
29 acc \
30 acc_diameter \
31 acc_json \
32 alias_db \
33 app_jsdt \
34 app_lua \
35 app_lua_sr \
36 app_python3 \
37 app_ruby \
38 app_sqlang \
39 async \
40 auth \
41 auth_db \
42 auth_diameter \
43 auth_ephemeral \
44 auth_identity \
45 auth_xkeys \
46 avp \
47 avpops \
48 benchmark \
49 blst \
50 call_control \
51 call_obj \
52 carrierroute \
53 cdp \
54 cdp_avp \
55 cfgutils \
56 cfg_db \
57 cfg_rpc \
58 cfgt \
59 cnxcc \
60 corex \
61 counters \
62 cplc \
63 crypto \
64 ctl \
65 db2_ldap \
66 db2_ops \
67 db_berkeley \
68 db_cluster \
69 db_flatstore \
70 db_mysql \
71 db_postgres \
72 db_redis \
73 db_sqlite \
74 db_text \
75 db_unixodbc \
76 debugger \
77 dialog \
78 dialplan \
79 dispatcher \
80 diversion \
81 dlgs \
82 dmq \
83 dmq_usrloc \
84 domain \
85 domainpolicy \
86 drouting \
87 enum \
88 erlang \
89 evapi \
90 evrexec \
91 exec \
92 group \
93 gzcompress \
94 h350 \
95 htable \
96 http_client \
97 imc \
98 ims_auth \
99 ims_charging \
100 ims_dialog \
101 ims_diameter_server \
102 ims_icscf \
103 ims_ipsec_pcscf \
104 ims_isc \
105 ims_ocs \
106 ims_qos \
107 ims_registrar_pcscf \
108 ims_registrar_scscf \
109 ims_usrloc_pcscf \
110 ims_usrloc_scscf \
111 ipops \
112 jansson \
113 janssonrpcc \
114 json \
115 jsonrpcs \
116 keepalive \
117 kemix \
118 kex \
119 lcr \
120 ldap \
121 log_custom \
122 lost \
123 mangler \
124 matrix \
125 maxfwd \
126 mediaproxy \
127 mohqueue \
128 mqueue \
129 msilo \
130 msrp \
131 mtree \
132 nathelper \
133 nat_traversal \
134 ndb_redis \
135 nosip \
136 outbound \
137 p_usrloc \
138 path \
139 pdb \
140 pdt \
141 permissions \
142 pike \
143 pipelimit \
144 prefix_route \
145 presence \
146 presence_conference \
147 presence_dialoginfo \
148 presence_mwi \
149 presence_profile \
150 presence_reginfo \
151 presence_xml \
152 pua \
153 pua_bla \
154 pua_dialoginfo \
155 pua_json \
156 pua_reginfo \
157 pua_rpc \
158 pua_usrloc \
159 pua_xmpp \
160 pv \
161 pv_headers \
162 qos \
163 ratelimit \
164 regex \
165 registrar \
166 rls \
167 rr \
168 rtimer \
169 rtjson \
170 rtpengine \
171 rtpproxy \
172 sanity \
173 sca \
174 sctp \
175 sdpops \
176 seas \
177 secfilter \
178 sipcapture \
179 sipdump \
180 sipt \
181 siptrace \
182 siputils \
183 sl \
184 sms \
185 smsops \
186 snmpstats \
187 speeddial \
188 sqlops \
189 ss7ops \
190 statistics \
191 statsc \
192 statsd \
193 stun \
194 sst \
195 tcpops \
196 textops \
197 textopsx \
198 timer \
199 tls \
200 tmrec \
201 topoh \
202 topos \
203 topos_redis \
204 tm \
205 tmx \
206 tsilo \
207 uac \
208 uac_redirect \
209 uid_auth_db \
210 uid_avp_db \
211 uid_domain \
212 uid_gflags \
213 uid_uri_db \
214 uri_db \
215 userblacklist \
216 usrloc \
217 utils \
218 uuid \
219 websocket \
220 xcap_client \
221 xcap_server \
222 xhttp \
223 xhttp_pi \
224 xhttp_prom \
225 xhttp_rpc \
226 xlog \
227 xmlops \
228 xmlrpc \
229 xmpp \
230 xprint
231
232 PKG_CONFIG_DEPENDS:= \
233 $(patsubst %,CONFIG_PACKAGE_$(PKG_NAME)-mod-%,$(subst _,-,$(MODULES_AVAILABLE)))
234
235 include $(INCLUDE_DIR)/nls.mk
236 include $(INCLUDE_DIR)/package.mk
237 include $(TOPDIR)/feeds/packages/lang/python/python3-version.mk
238
239 # Build reproducibly
240 TARGET_CFLAGS += -DVERSION_NODATE=1
241
242 PREBUILT_STAMP=$(STAGING_DIR)/stamp/.$(PKG_NAME)_prebuilt
243 TAR_CMD:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components 1 $(TAR_OPTIONS)
244
245 INCL_MODULES:=
246
247 define Package/kamailio5/Default
248 SECTION:=net
249 CATEGORY:=Network
250 SUBMENU:=Telephony
251 URL:=http://www.kamailio.org/
252 DEPENDS:=$(ICONV_DEPENDS) +libncurses +libpthread +libreadline +libxml2
253 endef
254
255 define Package/kamailio5
256 $(call Package/kamailio5/Default)
257 TITLE:=Mature and flexible open source SIP server, v$(PKG_VERSION)
258 USERID:=kamailio=380:kamailio=380
259 MENU:=1
260 endef
261
262 define Package/kamailio5/conffiles
263 /etc/config/kamailio
264 /etc/init.d/kamailio
265 /etc/kamailio/kamailio.cfg
266 /etc/kamailio/kamctlrc
267 endef
268
269 define Package/kamailio5/install
270 $(foreach c,kamailio.cfg kamctlrc,$(call Package/kamailio5/install/conffile,$(1),$(c));)
271 $(INSTALL_DIR) $(1)/usr/sbin
272 $(INSTALL_BIN) \
273 $(PKG_INSTALL_DIR)/usr/sbin/kam{ailio,cmd,ctl,dbctl} \
274 $(1)/usr/sbin/
275 $(INSTALL_DIR) $(1)/usr/lib/kamailio/modules
276 $(CP) \
277 $(PKG_INSTALL_DIR)/usr/lib/kamailio/lib{srdb1,srdb2}.so* \
278 $(1)/usr/lib/kamailio/
279 $(INSTALL_DIR) $(1)/etc/config
280 $(INSTALL_CONF) \
281 ./files/kamailio.conf \
282 $(1)/etc/config/kamailio
283 $(INSTALL_DIR) $(1)/etc/init.d
284 $(INSTALL_BIN) \
285 ./files/kamailio.init \
286 $(1)/etc/init.d/kamailio
287 $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
288 $(INSTALL_BIN) \
289 ./files/kamailio.hotplug \
290 $(1)/etc/hotplug.d/iface/99-kamailio
291 $(CP) \
292 $(PKG_INSTALL_DIR)/usr/lib/kamailio/kamctl \
293 $(1)/usr/lib/kamailio/
294 endef
295
296 define Package/kamailio5/postinst
297 #!/bin/sh
298 if [ -z "$${IPKG_INSTROOT}" ]; then
299 echo
300 echo "o-------------------------------------------------------------------o"
301 echo "| Kamailio note |"
302 echo "o-------------------------------------------------------------------o"
303 echo "| Edit /etc/config/kamailio to change basic init configuration. |"
304 echo "o-------------------------------------------------------------=^_^=-o"
305 echo
306 fi
307 exit 0
308 endef
309
310 define Package/kamailio5/install/conffile
311 $(INSTALL_DIR) $(1)/etc/kamailio
312 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/kamailio/$(2) $(1)/etc/kamailio
313 endef
314
315 define Package/kamailio5/install/dbfiles
316 $(INSTALL_DIR) $(1)/usr/share/kamailio/$(2)
317 $(CP) $(PKG_INSTALL_DIR)/usr/share/kamailio/$(2)/* $(1)/usr/share/kamailio/$(2)/
318 endef
319
320 define Package/kamailio5/install/module
321 $(INSTALL_DIR) $(1)/usr/lib/kamailio/modules
322 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/kamailio/modules/$(2).so* $(1)/usr/lib/kamailio/modules/
323 endef
324
325 define Package/kamailio5-lib-libkamailio-ims
326 $(call Package/kamailio5/Default)
327 TITLE:=Kamailio5 IMS library
328 DEPENDS:=kamailio5
329 endef
330
331 define Package/kamailio5-lib-libkamailio-ims/install
332 $(INSTALL_DIR) $(1)/usr/lib/kamailio
333 $(CP) $(PKG_INSTALL_DIR)/usr/lib/kamailio/libkamailio_ims.so* \
334 $(1)/usr/lib/kamailio
335 endef
336
337 define Package/kamailio5-lib-libtrie
338 $(call Package/kamailio5/Default)
339 TITLE:=Kamailio5 digital tree library
340 DEPENDS:=kamailio5
341 endef
342
343 define Package/kamailio5-lib-libtrie/install
344 $(INSTALL_DIR) $(1)/usr/lib/kamailio
345 $(CP) $(PKG_INSTALL_DIR)/usr/lib/kamailio/libtrie.so* \
346 $(1)/usr/lib/kamailio
347 endef
348
349 define Package/kamailio5-util-kambdb-recover
350 $(call Package/kamailio5/Default)
351 TITLE:=Kamailio5 Berkeley DB recovery utility
352 DEPENDS:=kamailio5 +PACKAGE_kamailio5-util-kambdb-recover:kamailio5-mod-db-berkeley
353 endef
354
355 define Package/kamailio5-util-kambdb-recover/install
356 $(INSTALL_DIR) $(1)/usr/sbin
357 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kambdb_recover $(1)/usr/sbin
358 endef
359
360 define BuildKamailio5Module
361 define Package/kamailio5-mod-$(subst _,-,$(1))
362 $$(call Package/kamailio5/Default)
363 TITLE:=$(2) for Kamailio5
364 DEPENDS:=kamailio5 $(patsubst +%,+PACKAGE_kamailio5-mod-$(subst _,-,$(1)):%,$(4))
365 ifneq ($$(CONFIG_PACKAGE_kamailio5-mod-$(subst _,-,$(1))),)
366 INCL_MODULES+=$(1)
367 endif
368 endef
369 define Package/kamailio5-mod-$(subst _,-,$(1))/conffiles
370 $(subst $(space),$(newline),$(foreach c,$(6),/etc/kamailio/$(c)))
371 endef
372 define Package/kamailio5-mod-$(subst _,-,$(1))/install
373 $(call Package/kamailio5/install/module,$$(1),$(1))
374 $(foreach c,$(6),$(call Package/kamailio5/install/conffile,$$(1),$(c));)
375 $(foreach d,$(5),$(call Package/kamailio5/install/dbfiles,$$(1),$(d));)
376 ifeq ($(1),snmpstats)
377 $(INSTALL_DIR) $$(1)/usr/share/snmp/mibs
378 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/snmp/mibs/* \
379 $$(1)/usr/share/snmp/mibs
380 endif
381 endef
382 $$(eval $$(call BuildPackage,kamailio5-mod-$(subst _,-,$(1))))
383 endef
384
385 # Kamailio always builds a baseline of packages. The "standard" group is
386 # the lightest baseline.
387
388 # "uid_gflags" is added to the list of modules to have at least one
389 # module that kicks off the build of the internal libsrdb2. The module
390 # has no other extra dependencies.
391 #
392 # The same is done with:
393 # "ims_diameter_server" -> libkamailio_ims
394 # "carrierroute" -> libtrie
395
396 EXTRA_MODULES:= \
397 $(if $(CONFIG_PACKAGE_kamailio5-mod-carrierroute),,carrierroute) \
398 $(if $(CONFIG_PACKAGE_kamailio5-mod-ims-diameter-server),,ims_diameter_server) \
399 $(if $(CONFIG_PACKAGE_kamailio5-mod-uid-gflags),,uid_gflags)
400
401 # MIPS tweak:
402 #
403 # Kamailio enables use of fast inline assembly locks when ARCH is set to
404 # "mips2". When ARCH is set to "mips" instead, Kamailio assumes it is dealing
405 # with an old 32-bit MIPS CPU without hardware locking support (like R3000).
406 #
407 # When CONFIG_CPU_TYPE matches one of the identifiers in the list below, set
408 # ARCH to "mips2" to get FAST_LOCK support.
409 ifeq ($(call qstrip,$(CONFIG_ARCH)),mips)
410 CPU_MIPS2:=mips32 24kc 34kc 74kc
411 endif
412
413 MAKE_FLAGS += \
414 $(if $(findstring $(call qstrip,$(CONFIG_CPU_TYPE)),$(CPU_MIPS2)),ARCH="mips2",ARCH="$(ARCH)") \
415 CC_EXTRA_OPTS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
416 LD="$(TARGET_CC)" \
417 LD_EXTRA_OPTS="$(TARGET_LDFLAGS)" \
418 LIBDIR=lib \
419 PREFIX=/usr \
420 cfg_prefix="$(PKG_INSTALL_DIR)" \
421 cfg_target=/etc/kamailio \
422 group_include="standard" \
423 include_modules="$$(INCL_MODULES) $(EXTRA_MODULES)" \
424 quiet=verbose \
425 run_prefix=""
426
427 MAKE_VARS += \
428 PYTHON3=python$(PYTHON3_VERSION)
429
430 define Build/Prepare
431 $(call Build/Prepare/Default)
432 # Upstream adds "-funroll-loops" to compiler flags, which increases
433 # binary size significantly. Remove this flag.
434 $(SED) 's/[ ]*-funroll-loops//' $(PKG_BUILD_DIR)/src/Makefile.defs
435 endef
436
437 define Build/Configure
438 endef
439
440 define Build/Compile
441 $(call Build/Compile/Default,cfg)
442 $(call Build/Compile/Default,all)
443 endef
444
445 $(eval $(call BuildPackage,kamailio5))
446 $(eval $(call BuildPackage,kamailio5-lib-libkamailio-ims))
447 $(eval $(call BuildPackage,kamailio5-lib-libtrie))
448 $(eval $(call BuildPackage,kamailio5-util-kambdb-recover))
449
450 ################################
451 # Kamailio module parameters
452 # Params:
453 # 1 - Module name
454 # 2 - Module title
455 # 3 - Module description
456 # 4 - Dependencies
457 # 5 - Kamailio DB files
458 # 6 - Configuration files
459 ################################
460
461 $(eval $(call BuildKamailio5Module,acc,Accounting,,+kamailio5-mod-tm))
462 $(eval $(call BuildKamailio5Module,acc_diameter,Accounting for DIAMETER backend,,+kamailio5-mod-acc))
463 $(eval $(call BuildKamailio5Module,acc_json,Accounting with records exported in JSON format,,+jansson +kamailio5-mod-acc))
464 $(eval $(call BuildKamailio5Module,alias_db,Database-backend aliases,,))
465 $(eval $(call BuildKamailio5Module,app_jsdt,Execute JavaScript scripts,,))
466 $(eval $(call BuildKamailio5Module,app_lua,Execute embedded Lua scripts,,+liblua))
467 $(eval $(call BuildKamailio5Module,app_lua_sr,Old Lua API,,+kamailio5-mod-app-lua,))
468 $(eval $(call BuildKamailio5Module,app_python3,Python3 scripting interpreter,,+python3-light))
469 $(eval $(call BuildKamailio5Module,app_ruby,Ruby scripting interpreter,,+libruby))
470 $(eval $(call BuildKamailio5Module,app_sqlang,Execute Squirrel language scripts,,+libstdcpp))
471 $(eval $(call BuildKamailio5Module,async,Asynchronous SIP handling functions,,+kamailio5-mod-tm +kamailio5-mod-tmx))
472 $(eval $(call BuildKamailio5Module,auth,Authentication Framework,,))
473 $(eval $(call BuildKamailio5Module,auth_db,Database-backend authentication,,+kamailio5-mod-auth))
474 $(eval $(call BuildKamailio5Module,auth_diameter,Diameter authentication,,+kamailio5-mod-sl))
475 $(eval $(call BuildKamailio5Module,auth_ephemeral,Ephemeral credentials,,+libopenssl))
476 $(eval $(call BuildKamailio5Module,auth_identity,Identity authentication,,+libopenssl +libcurl))
477 $(eval $(call BuildKamailio5Module,auth_xkeys,Shared-key authentication,,+kamailio5-mod-auth))
478 $(eval $(call BuildKamailio5Module,avp,Functions for handling AVPs,,))
479 $(eval $(call BuildKamailio5Module,avpops,AVP operation,,))
480 $(eval $(call BuildKamailio5Module,benchmark,Config benchmark,,))
481 $(eval $(call BuildKamailio5Module,blst,Blacklisting API for config,,))
482 $(eval $(call BuildKamailio5Module,call_control,Call Control,,+kamailio5-mod-dialog +kamailio5-mod-pv))
483 $(eval $(call BuildKamailio5Module,call_obj,Call identification support,,))
484 $(eval $(call BuildKamailio5Module,carrierroute,Carrier Route,,+kamailio5-lib-libtrie))
485 $(eval $(call BuildKamailio5Module,cdp,C Diameter Peer,,))
486 $(eval $(call BuildKamailio5Module,cdp_avp,CDP AVP helper module,,+kamailio5-mod-cdp))
487 $(eval $(call BuildKamailio5Module,cfgutils,Config utilities,,))
488 $(eval $(call BuildKamailio5Module,cfg_db,Load parameters from database,,))
489 $(eval $(call BuildKamailio5Module,cfg_rpc,Update parameters via RPC,,))
490 $(eval $(call BuildKamailio5Module,cfgt,Unit test reporting,,))
491 $(eval $(call BuildKamailio5Module,cnxcc,Limit call duration,,+kamailio5-mod-dialog +libhiredis +libevent2))
492 $(eval $(call BuildKamailio5Module,corex,Legacy functions,,))
493 $(eval $(call BuildKamailio5Module,counters,Functions for counter manipulation,,))
494 $(eval $(call BuildKamailio5Module,cplc,Call Processing Language interpreter,,+kamailio5-mod-sl +kamailio5-mod-tm +kamailio5-mod-usrloc))
495 $(eval $(call BuildKamailio5Module,crypto,Various cryptography tools,,+libopenssl))
496 $(eval $(call BuildKamailio5Module,ctl,BINRPC transport interface,,))
497 $(eval $(call BuildKamailio5Module,db2_ldap,DBv2 LDAP module,,+libopenldap))
498 $(eval $(call BuildKamailio5Module,db2_ops,Run SQL queries from script,,))
499 $(eval $(call BuildKamailio5Module,db_berkeley,Berkeley DB backend,,+libdb47))
500 $(eval $(call BuildKamailio5Module,db_cluster,Database clustering system,,))
501 $(eval $(call BuildKamailio5Module,db_flatstore,fast write-only text DB-backend,,))
502 $(eval $(call BuildKamailio5Module,db_mysql,MySQL DB-backend,,+libmysqlclient,mysql))
503 $(eval $(call BuildKamailio5Module,db_postgres,PostgreSQL DB-backend,,+libpq,postgres))
504 $(eval $(call BuildKamailio5Module,db_redis,Database backend with Redis server,,+libhiredis,db_redis))
505 $(eval $(call BuildKamailio5Module,db_sqlite,SQLite DB-backend,,+libsqlite3,db_sqlite))
506 $(eval $(call BuildKamailio5Module,db_text,Text DB-backend,,,dbtext/kamailio))
507 $(eval $(call BuildKamailio5Module,db_unixodbc,UnixODBC DB-backend,,+unixodbc))
508 $(eval $(call BuildKamailio5Module,debugger,Interactive config file debugger,,))
509 $(eval $(call BuildKamailio5Module,dialog,Dialog support,,+kamailio5-mod-rr +kamailio5-mod-tm))
510 $(eval $(call BuildKamailio5Module,dialplan,Dialplan management,,+libpcre))
511 $(eval $(call BuildKamailio5Module,dispatcher,Dispatcher,,))
512 $(eval $(call BuildKamailio5Module,diversion,Diversion header insertion,,))
513 $(eval $(call BuildKamailio5Module,dlgs,Track active calls in stateless mode,,))
514 $(eval $(call BuildKamailio5Module,dmq,Distributed Message Queue,,+kamailio5-mod-sl +kamailio5-mod-tm))
515 $(eval $(call BuildKamailio5Module,dmq_usrloc,DMQ USRLOC replication,,+kamailio5-mod-dmq +kamailio5-mod-usrloc))
516 $(eval $(call BuildKamailio5Module,domain,Multi-domain support,,))
517 $(eval $(call BuildKamailio5Module,domainpolicy,Domain policy,,))
518 $(eval $(call BuildKamailio5Module,drouting,Dynamic routing module,,))
519 $(eval $(call BuildKamailio5Module,enum,ENUM lookup,,))
520 $(eval $(call BuildKamailio5Module,erlang,Erlang node connector module,,@!USE_MUSL +erlang))
521 $(eval $(call BuildKamailio5Module,evapi,push event details via tcp,,+libev))
522 $(eval $(call BuildKamailio5Module,evrexec,Execut event routes at startup,,))
523 $(eval $(call BuildKamailio5Module,exec,External exec,,))
524 $(eval $(call BuildKamailio5Module,group,Database-backend user-groups,,))
525 $(eval $(call BuildKamailio5Module,gzcompress,Compress SIP messages,,+zlib))
526 $(eval $(call BuildKamailio5Module,h350,H.350,,+kamailio5-mod-ldap +libopenldap))
527 $(eval $(call BuildKamailio5Module,htable,Hash Table,,))
528 $(eval $(call BuildKamailio5Module,http_client,HTTP client using CURL,,+libcurl))
529 $(eval $(call BuildKamailio5Module,imc,IM conferencing,,+kamailio5-mod-db-mysql +kamailio5-mod-tm))
530 $(eval $(call BuildKamailio5Module,ims_auth,IMS authentication module,,+kamailio5-lib-libkamailio-ims +kamailio5-mod-cdp +kamailio5-mod-cdp-avp +kamailio5-mod-tm))
531 $(eval $(call BuildKamailio5Module,ims_charging,IMS charging component module,,+kamailio5-lib-libkamailio-ims +kamailio5-mod-cdp +kamailio5-mod-cdp-avp +kamailio5-mod-tm))
532 $(eval $(call BuildKamailio5Module,ims_dialog,IMS dialog tracking module,,+kamailio5-mod-rr +kamailio5-mod-tm))
533 $(eval $(call BuildKamailio5Module,ims_diameter_server,IMS DIAMETER server module,,+kamailio5-lib-libkamailio-ims +kamailio5-mod-cdp +kamailio5-mod-cdp-avp))
534 $(eval $(call BuildKamailio5Module,ims_icscf,IMS ICSCF component module,,+kamailio5-lib-libkamailio-ims +kamailio5-mod-cdp +kamailio5-mod-cdp-avp +kamailio5-mod-sl +kamailio5-mod-tm))
535 $(eval $(call BuildKamailio5Module,ims_ipsec_pcscf,Diameter server implementation,,+kamailio5-lib-libkamailio-ims +kamailio5-mod-ims-usrloc-pcscf +kamailio5-mod-tm +libmnl))
536 $(eval $(call BuildKamailio5Module,ims_isc,IMS ISC component module,,+kamailio5-lib-libkamailio-ims +kamailio5-mod-ims-usrloc-scscf +kamailio5-mod-tm))
537 $(eval $(call BuildKamailio5Module,ims_ocs,MS OCS component module,,+kamailio5-lib-libkamailio-ims +kamailio5-mod-cdp +kamailio5-mod-cdp-avp))
538 $(eval $(call BuildKamailio5Module,ims_qos,IMS Diameter Rx interface between PCSCF and PCRF functions,,+kamailio5-lib-libkamailio-ims +kamailio5-mod-cdp +kamailio5-mod-cdp-avp +kamailio5-mod-ims-dialog +kamailio5-mod-ims-usrloc-pcscf +kamailio5-mod-tm))
539 $(eval $(call BuildKamailio5Module,ims_registrar_pcscf,MS PCSCF registrar module,,+kamailio5-lib-libkamailio-ims +kamailio5-mod-ims-usrloc-pcscf))
540 $(eval $(call BuildKamailio5Module,ims_registrar_scscf,IMS SCSCF registrar module,,+kamailio5-lib-libkamailio-ims +kamailio5-mod-cdp +kamailio5-mod-cdp-avp +kamailio5-mod-ims-usrloc-scscf +kamailio5-mod-tm))
541 $(eval $(call BuildKamailio5Module,ims_usrloc_pcscf,IMS PCSCF usrloc module,,))
542 $(eval $(call BuildKamailio5Module,ims_usrloc_scscf,IMS SCSCF usrloc module,,))
543 $(eval $(call BuildKamailio5Module,ipops,IP and IPv6 operations,,))
544 $(eval $(call BuildKamailio5Module,jansson,Access to JSON attributes,,+jansson))
545 $(eval $(call BuildKamailio5Module,janssonrpcc,Alternative JSONRPC server,,+kamailio5-mod-jansson +libevent2))
546 $(eval $(call BuildKamailio5Module,json,Access to JSON document attributes,,+libjson-c))
547 $(eval $(call BuildKamailio5Module,jsonrpcs,JSONRPC server over HTTP,,+libevent2))
548 $(eval $(call BuildKamailio5Module,keepalive,SIP keepalive monitoring,+kamailio5-mod-tm,))
549 $(eval $(call BuildKamailio5Module,kemix,KEMI extensions,,,))
550 $(eval $(call BuildKamailio5Module,kex,Core extensions,,))
551 $(eval $(call BuildKamailio5Module,lcr,Least Cost Routing,,+kamailio5-mod-tm +libpcre))
552 $(eval $(call BuildKamailio5Module,ldap,LDAP connector,,+libopenldap))
553 $(eval $(call BuildKamailio5Module,log_custom,Logging to custom backends,,))
554 $(eval $(call BuildKamailio5Module,lost,HELD and LOST routing,,+kamailio5-mod-http-client,))
555 $(eval $(call BuildKamailio5Module,mangler,SDP mangling,,))
556 $(eval $(call BuildKamailio5Module,matrix,Matrix operations,,))
557 $(eval $(call BuildKamailio5Module,maxfwd,Max-Forward processor,,))
558 $(eval $(call BuildKamailio5Module,mediaproxy,Automatic NAT traversal,,+kamailio5-mod-dialog))
559 $(eval $(call BuildKamailio5Module,mohqueue,Music on hold queuing system,,+kamailio5-mod-rtpproxy +kamailio5-mod-sl +kamailio5-mod-tm))
560 $(eval $(call BuildKamailio5Module,mqueue,Generic message queue system,,))
561 $(eval $(call BuildKamailio5Module,msilo,SIP message silo,,+kamailio5-mod-tm))
562 $(eval $(call BuildKamailio5Module,msrp,MSRP routing engine,,+kamailio5-mod-tls))
563 $(eval $(call BuildKamailio5Module,mtree,Memory caching system,,))
564 $(eval $(call BuildKamailio5Module,nathelper,NAT helper,,+kamailio5-mod-usrloc))
565 $(eval $(call BuildKamailio5Module,nat_traversal,NAT traversal,,+kamailio5-mod-dialog +kamailio5-mod-sl +kamailio5-mod-tm))
566 $(eval $(call BuildKamailio5Module,ndb_redis,Connect to REDIS NoSQL,,+libhiredis))
567 $(eval $(call BuildKamailio5Module,nosip,non-sip package handling,,+kamailio5-mod-rr))
568 $(eval $(call BuildKamailio5Module,outbound,SIP Outbound implementation,,+kamailio5-mod-stun +libopenssl))
569 $(eval $(call BuildKamailio5Module,p_usrloc,Partitioned USRLOC services,,))
570 $(eval $(call BuildKamailio5Module,path,SIP path insertion,,+kamailio5-mod-rr))
571 $(eval $(call BuildKamailio5Module,pdb,Number portability module,,))
572 $(eval $(call BuildKamailio5Module,pdt,Prefix-to-Domain translator,,))
573 $(eval $(call BuildKamailio5Module,permissions,Permissions control,,))
574 $(eval $(call BuildKamailio5Module,pike,Flood detector,,))
575 $(eval $(call BuildKamailio5Module,pipelimit,Traffic shaping policies,,+kamailio5-mod-sl))
576 $(eval $(call BuildKamailio5Module,prefix_route,Execute based on prefix,,))
577 $(eval $(call BuildKamailio5Module,presence,Presence server,,+kamailio5-mod-sl +kamailio5-mod-tm,))
578 $(eval $(call BuildKamailio5Module,presence_conference,Conference events,,+kamailio5-mod-presence))
579 $(eval $(call BuildKamailio5Module,presence_dialoginfo,Dialog Event presence,,+kamailio5-mod-presence))
580 $(eval $(call BuildKamailio5Module,presence_mwi,MWI presence,,+kamailio5-mod-presence))
581 $(eval $(call BuildKamailio5Module,presence_profile,User profile extensions,,+kamailio5-mod-presence))
582 $(eval $(call BuildKamailio5Module,presence_reginfo,Registration info,,+kamailio5-mod-presence))
583 $(eval $(call BuildKamailio5Module,presence_xml,XCAP presence,,+kamailio5-mod-presence +kamailio5-mod-xcap-client))
584 $(eval $(call BuildKamailio5Module,pua,Presence User Agent,,+kamailio5-mod-tm,))
585 $(eval $(call BuildKamailio5Module,pua_bla,Bridged Line Appearence PUA,,+kamailio5-mod-presence +kamailio5-mod-pua +kamailio5-mod-usrloc))
586 $(eval $(call BuildKamailio5Module,pua_dialoginfo,Dialog Event PUA,,+kamailio5-mod-dialog +kamailio5-mod-pua))
587 $(eval $(call BuildKamailio5Module,pua_json,Presence user agent implementation with JSON messages,,+libjson-c))
588 $(eval $(call BuildKamailio5Module,pua_reginfo,PUA registration info,,+kamailio5-mod-pua +kamailio5-mod-usrloc))
589 $(eval $(call BuildKamailio5Module,pua_rpc,RPC extensions for PUA,,+kamailio5-mod-pua))
590 $(eval $(call BuildKamailio5Module,pua_usrloc,PUA User Location,,+kamailio5-mod-pua +kamailio5-mod-usrloc))
591 $(eval $(call BuildKamailio5Module,pua_xmpp,PUA XMPP,,+kamailio5-mod-presence +kamailio5-mod-pua +kamailio5-mod-xmpp))
592 $(eval $(call BuildKamailio5Module,pv,Pseudo-Variables,,))
593 $(eval $(call BuildKamailio5Module,pv_headers,Flexible SIP header management,,))
594 $(eval $(call BuildKamailio5Module,qos,QoS control,,+kamailio5-mod-dialog))
595 $(eval $(call BuildKamailio5Module,ratelimit,Traffic shapping,,))
596 $(eval $(call BuildKamailio5Module,regex,Regular Expression,,+libpcre))
597 $(eval $(call BuildKamailio5Module,registrar,SIP Registrar,,+kamailio5-mod-usrloc))
598 $(eval $(call BuildKamailio5Module,rls,Resource List Server,,+kamailio5-mod-presence +kamailio5-mod-pua +kamailio5-mod-tm,))
599 $(eval $(call BuildKamailio5Module,rr,Record-Route and Route,,))
600 $(eval $(call BuildKamailio5Module,rtimer,Routing Timer,,))
601 $(eval $(call BuildKamailio5Module,rtjson,SIP routing based on JSON API,,))
602 $(eval $(call BuildKamailio5Module,rtpengine,RTP engine,,+kamailio5-mod-tm))
603 $(eval $(call BuildKamailio5Module,rtpproxy,RTP proxy,,+kamailio5-mod-tm))
604 $(eval $(call BuildKamailio5Module,sanity,SIP sanity checks,,+kamailio5-mod-sl))
605 $(eval $(call BuildKamailio5Module,sca,Shared Call Appearances,,+kamailio5-mod-sl +kamailio5-mod-tm))
606 $(eval $(call BuildKamailio5Module,sctp,SCTP support,,+libsctp))
607 $(eval $(call BuildKamailio5Module,sdpops,Managing SDP payloads,,))
608 $(eval $(call BuildKamailio5Module,seas,Sip Express Application Server,,+kamailio5-mod-tm))
609 $(eval $(call BuildKamailio5Module,secfilter,Allow/block filters,,,))
610 $(eval $(call BuildKamailio5Module,sipcapture,SIP capture,,))
611 $(eval $(call BuildKamailio5Module,sipdump,Save SIP traffic,,))
612 $(eval $(call BuildKamailio5Module,sipt,SIP-T and SIP-I operations,,))
613 $(eval $(call BuildKamailio5Module,siptrace,SIP trace,,))
614 $(eval $(call BuildKamailio5Module,siputils,SIP utilities,,+kamailio5-mod-sl))
615 $(eval $(call BuildKamailio5Module,sl,Stateless replier,,))
616 $(eval $(call BuildKamailio5Module,sms,SIP-to-SMS IM gateway,,+kamailio5-mod-tm))
617 $(eval $(call BuildKamailio5Module,smsops,Handle SMS packets in SIP,,))
618 $(eval $(call BuildKamailio5Module,snmpstats,SNMP interface for statistics,,+libnetsnmp))
619 $(eval $(call BuildKamailio5Module,speeddial,Per-user speed-dial controller,,))
620 $(eval $(call BuildKamailio5Module,sqlops,SQL operations,,))
621 $(eval $(call BuildKamailio5Module,ss7ops,JSON Operations for SS7 over HEP,,))
622 $(eval $(call BuildKamailio5Module,statistics,Script statistics,,))
623 $(eval $(call BuildKamailio5Module,statsc,Statistics collector,,))
624 $(eval $(call BuildKamailio5Module,statsd,Connector for statsd application,,))
625 $(eval $(call BuildKamailio5Module,stun,STUN server support,,))
626 $(eval $(call BuildKamailio5Module,sst,SIP Session Timer,,+kamailio5-mod-dialog +kamailio5-mod-sl))
627 $(eval $(call BuildKamailio5Module,tcpops,TCP options tweaking operations,,))
628 $(eval $(call BuildKamailio5Module,textops,Text operations,,))
629 $(eval $(call BuildKamailio5Module,textopsx,Extra text operations,,))
630 $(eval $(call BuildKamailio5Module,timer,Execute routing blocks on core timers,,))
631 $(eval $(call BuildKamailio5Module,tls,TLS operations,,+libopenssl,,tls.cfg))
632 $(eval $(call BuildKamailio5Module,tmrec,Match time recurrences,,))
633 $(eval $(call BuildKamailio5Module,topoh,Topology hiding,,+kamailio5-mod-rr))
634 $(eval $(call BuildKamailio5Module,topos,Topology stripping module,,+kamailio5-mod-rr))
635 $(eval $(call BuildKamailio5Module,topos_redis,Redis backend for topos module,,+kamailio5-mod-ndb-redis +kamailio5-mod-topos))
636 $(eval $(call BuildKamailio5Module,tm,Transaction,,))
637 $(eval $(call BuildKamailio5Module,tmx,Transaction module extensions,,))
638 $(eval $(call BuildKamailio5Module,tsilo,Transaction storage,,+kamailio5-mod-registrar +kamailio5-mod-sl +kamailio5-mod-tm))
639 $(eval $(call BuildKamailio5Module,uac,User Agent Client,,+kamailio5-mod-tm))
640 $(eval $(call BuildKamailio5Module,uac_redirect,User Agent Client redirection,,+kamailio5-mod-tm))
641 $(eval $(call BuildKamailio5Module,uid_auth_db,Authentication module,,+kamailio5-mod-auth))
642 $(eval $(call BuildKamailio5Module,uid_avp_db,AVP database operations,,))
643 $(eval $(call BuildKamailio5Module,uid_domain,Domains management,,))
644 $(eval $(call BuildKamailio5Module,uid_gflags,Global attributes and flags,,))
645 $(eval $(call BuildKamailio5Module,uid_uri_db,Database URI operations,,))
646 $(eval $(call BuildKamailio5Module,uri_db,Database-backend SIP URI checking,,))
647 $(eval $(call BuildKamailio5Module,userblacklist,User blacklists,,+kamailio5-lib-libtrie))
648 $(eval $(call BuildKamailio5Module,usrloc,User location,,))
649 $(eval $(call BuildKamailio5Module,utils,Misc utilities,,+libcurl,))
650 $(eval $(call BuildKamailio5Module,uuid,UUID utilities,,+libuuid))
651 $(eval $(call BuildKamailio5Module,websocket,WebSocket transport layer,,+kamailio5-mod-sl +kamailio5-mod-tm +libopenssl +libunistring))
652 $(eval $(call BuildKamailio5Module,xcap_client,XCAP Client,,+libcurl))
653 $(eval $(call BuildKamailio5Module,xcap_server,XCAP server implementation,,+kamailio5-mod-xhttp +kamailio5-mod-sl))
654 $(eval $(call BuildKamailio5Module,xhttp,Basic HTTP request handling server,,+kamailio5-mod-sl))
655 $(eval $(call BuildKamailio5Module,xhttp_pi,HTTP provisioning interface,,+kamailio5-mod-xhttp,xhttp_pi,pi_framework.xml))
656 $(eval $(call BuildKamailio5Module,xhttp_prom,Prometheus metrics,,+kamailio5-mod-xhttp,))
657 $(eval $(call BuildKamailio5Module,xhttp_rpc,RPC commands handling over HTTP,,+kamailio5-mod-xhttp))
658 $(eval $(call BuildKamailio5Module,xlog,Advanced logger,,))
659 $(eval $(call BuildKamailio5Module,xmlops,XML operations,,))
660 $(eval $(call BuildKamailio5Module,xmlrpc,XML RPC module,,,))
661 $(eval $(call BuildKamailio5Module,xmpp,SIP-to-XMPP Gateway,,+kamailio5-mod-tm +libexpat))
662 $(eval $(call BuildKamailio5Module,xprint,Print messages with specifiers,,))