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