2 # Copyright (C) 2017 - 2018 OpenWrt.org
3 # Copyright (C) 2017 - 2018 Jiri Slachta
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
9 include $(TOPDIR
)/rules.mk
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
:=96f15fd639d6ea2f4f9921e83ecddff0ac42732f2709bcf7269d591952676fc4
21 PKG_LICENSE_FILES
:=COPYING
22 PKG_MAINTAINER
:=Jiri Slachta
<jiri@slachta.eu
>
24 include $(INCLUDE_DIR
)/nls.mk
25 include $(INCLUDE_DIR
)/package.mk
27 TARGET_CFLAGS
+= $(FPIC
) -DVERSION_NODATE
=1
28 PREBUILT_STAMP
=$(STAGING_DIR
)/stamp
/.
$(PKG_NAME
)_prebuilt
29 TAR_CMD
:=$(HOST_TAR
) -C
$(PKG_BUILD_DIR
) --strip-components
1 $(TAR_OPTIONS
)
33 define Package
/kamailio5
/Default
37 URL
:=http
://www.kamailio.org
/
38 DEPENDS
:=$(ICONV_DEPENDS
) +libncurses
+libpthread
+libreadline
+libxml2
41 define Package
/kamailio5
42 $(call Package
/kamailio5
/Default
)
43 TITLE
:=Mature and flexible open source SIP server
, v
$(PKG_VERSION
)
47 define Package
/kamailio5
/conffiles
49 /etc
/kamailio
/kamailio.cfg
50 /etc
/kamailio
/kamctlrc
53 define Package
/kamailio5
/install
54 $(INSTALL_DIR
) $(1)/usr
/sbin
56 $(PKG_INSTALL_DIR
)/usr
/sbin
/kam
{ailio
,cmd
,ctl
,dbctl
} \
58 $(INSTALL_DIR
) $(1)/usr
/lib
/kamailio
/modules
60 $(PKG_INSTALL_DIR
)/usr
/lib
/kamailio
/lib
*.so
* \
61 $(1)/usr
/lib
/kamailio
/
62 $(INSTALL_DIR
) $(1)/etc
/kamailio
64 $(PKG_INSTALL_DIR
)/etc
/kamailio
/{kamailio.cfg
,kamctlrc
} \
66 $(INSTALL_DIR
) $(1)/etc
/default
68 .
/files
/kamailio.default \
69 $(1)/etc
/default
/kamailio
70 $(INSTALL_DIR
) $(1)/etc
/init.d
72 .
/files
/kamailio.init \
73 $(1)/etc
/init.d
/kamailio
75 $(PKG_INSTALL_DIR
)/usr
/lib
/kamailio
/kamctl \
76 $(1)/usr
/lib
/kamailio
/
79 define Package
/kamailio5
/install/dbfiles
80 $(INSTALL_DIR
) $(1)/usr
/share
/kamailio
/$(2)
81 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/kamailio
/$(2)/* $(1)/usr
/share
/kamailio
/$(2)/
84 define Package
/kamailio5
/install/module
85 $(INSTALL_DIR
) $(1)/usr
/lib
/kamailio
/modules
86 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/kamailio
/modules
/$(2).so
* $(1)/usr
/lib
/kamailio
/modules
/
89 define BuildKamailio5Module
90 define Package
/kamailio5-mod-
$(subst _
,-,$(1))
91 $$(call Package
/kamailio5
/Default
)
92 TITLE
:=$(2) for Kamailio5
93 DEPENDS
:=kamailio5
$(patsubst +%,+PACKAGE_kamailio5-mod-
$(subst _
,-,$(1)):%,$(4))
94 ifneq ($$(CONFIG_PACKAGE_kamailio5-mod-
$(subst _
,-,$(1))),)
99 define Package
/kamailio5-mod-
$(subst _
,-,$(1))/install
100 $(call Package
/kamailio5
/install/module
,$$(1),$(1))
101 $(foreach d
,$(5),$(call Package
/kamailio5
/install/dbfiles
,$$(1),$(d
));)
103 $$(eval
$$(call BuildPackage
,kamailio5-mod-
$(subst _
,-,$(1))))
108 cfg_dir
=/etc
/kamailio
/ \
110 data_dir
=/usr
/share
/kamailio
/ \
111 lib_dir
=/usr
/lib
/kamailio
/ \
112 modules_dir
=/usr
/lib
/kamailio
/ \
113 group_include
="standard" \
114 include_modules
="$$(INCL_MODULES)" \
115 cfg_target
:=/etc
/kamailio
/ \
116 CFLAGS
="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
117 LD_EXTRA_OPTS
="$(TARGET_LDFLAGS)" \
118 LOCALBASE
="$(STAGING_DIR)/usr" \
119 SYSBASE
="$(STAGING_DIR)/usr" \
120 CROSS_COMPILE
=$(TARGET_CROSS
) \
123 DESTDIR
=$(PKG_INSTALL_DIR
) \
127 $(MAKE
) -C
$(PKG_BUILD_DIR
) $(PKG_MAKE_ARGS
) all
128 $(MAKE
) -C
$(PKG_BUILD_DIR
) $(PKG_MAKE_ARGS
) install
131 $(eval
$(call BuildPackage
,kamailio5
))
133 ################################
134 # Kamailio module parameters
138 # 3 - Module description
140 # 5 - Kamailio DB files
141 ################################
143 $(eval
$(call BuildKamailio5Module
,acc
,Accounting
,,+kamailio5-mod-tm
))
144 $(eval
$(call BuildKamailio5Module
,alias_db
,Database-backend aliases
,,+kamailio5-mod-db-sqlite
))
145 $(eval
$(call BuildKamailio5Module
,app_lua
,Execute embedded Lua scripts
,,+liblua
))
146 $(eval
$(call BuildKamailio5Module
,async
,Asynchronous SIP handling functions
,,+kamailio5-mod-tm
+kamailio5-mod-tmx
))
147 $(eval
$(call BuildKamailio5Module
,auth
,Authentication Framework
,,))
148 $(eval
$(call BuildKamailio5Module
,auth_db
,Database-backend authentication
,,+kamailio5-mod-auth
+kamailio5-mod-db-sqlite
))
149 $(eval
$(call BuildKamailio5Module
,auth_diameter
,Diameter authentication
,,+kamailio5-mod-sl
))
150 $(eval
$(call BuildKamailio5Module
,auth_identity
,Identity authentication
,,+libopenssl
+libcurl
))
151 $(eval
$(call BuildKamailio5Module
,auth_xkeys
,Shared-key authentication
,,+kamailio5-mod-auth
))
152 $(eval
$(call BuildKamailio5Module
,avp
,Functions for handling AVPs
,,))
153 $(eval
$(call BuildKamailio5Module
,avpops
,AVP operation
,,))
154 $(eval
$(call BuildKamailio5Module
,benchmark
,Config benchmark
,,))
155 $(eval
$(call BuildKamailio5Module
,blst
,Blacklisting API for config
,,))
156 $(eval
$(call BuildKamailio5Module
,cfgutils
,Config utilities
,,))
157 $(eval
$(call BuildKamailio5Module
,cfg_db
,Load parameters from database
,,+kamailio5-mod-db-sqlite
))
158 $(eval
$(call BuildKamailio5Module
,cfg_rpc
,Update parameters via RPC
,,))
159 $(eval
$(call BuildKamailio5Module
,cnxcc
,Limit call duration
,,+kamailio5-mod-dialog
+libhiredis
+libevent2
))
160 $(eval
$(call BuildKamailio5Module
,corex
,Legacy functions
,,))
161 $(eval
$(call BuildKamailio5Module
,ctl
,BINRPC transport interface
,,))
162 $(eval
$(call BuildKamailio5Module
,db_flatstore
,fast write-only text DB-backend
,,))
163 $(eval
$(call BuildKamailio5Module
,db_mysql
,MySQL DB-backend
,,+libmysqlclient
,mysql
))
164 $(eval
$(call BuildKamailio5Module
,db_postgres
,PostgreSQL DB-backend
,,@
!arc
+libpq
,postgres
))
165 $(eval
$(call BuildKamailio5Module
,db_sqlite
,SQLite DB-backend
,,+libsqlite3
,db_sqlite
))
166 $(eval
$(call BuildKamailio5Module
,db_text
,Text DB-backend
,,,dbtext
/kamailio
))
167 $(eval
$(call BuildKamailio5Module
,db_unixodbc
,UnixODBC DB-backend
,,+unixodbc
))
168 $(eval
$(call BuildKamailio5Module
,debugger
,Interactive config file debugger
,,))
169 $(eval
$(call BuildKamailio5Module
,dialog
,Dialog support
,,+kamailio5-mod-rr
+kamailio5-mod-tm
))
170 $(eval
$(call BuildKamailio5Module
,dialplan
,Dialplan management
,,+libpcre
))
171 $(eval
$(call BuildKamailio5Module
,dispatcher
,Dispatcher
,,))
172 $(eval
$(call BuildKamailio5Module
,diversion
,Diversion header insertion
,,))
173 $(eval
$(call BuildKamailio5Module
,domain
,Multi-domain support
,,))
174 $(eval
$(call BuildKamailio5Module
,domainpolicy
,Domain policy
,,))
175 $(eval
$(call BuildKamailio5Module
,drouting
,Dynamic routing module
,,))
176 $(eval
$(call BuildKamailio5Module
,enum
,ENUM lookup
,,))
177 $(eval
$(call BuildKamailio5Module
,evapi
,push event details via tcp
,,+libev
))
178 $(eval
$(call BuildKamailio5Module
,exec
,External exec
,,))
179 $(eval
$(call BuildKamailio5Module
,group
,Database-backend user-groups
,,))
180 $(eval
$(call BuildKamailio5Module
,h350
,H
.350,,+kamailio5-mod-ldap
+libopenldap
))
181 $(eval
$(call BuildKamailio5Module
,htable
,Hash Table
,,))
182 $(eval
$(call BuildKamailio5Module
,imc
,IM conferencing
,,+kamailio5-mod-db-mysql
+kamailio5-mod-tm
))
183 $(eval
$(call BuildKamailio5Module
,ipops
,IP and IPv6 operations
,,))
184 $(eval
$(call BuildKamailio5Module
,jansson
,Access to JSON attributes
,,+jansson
))
185 $(eval
$(call BuildKamailio5Module
,janssonrpcc
,Alternative JSONRPC server
,,+kamailio5-mod-jansson
+libevent2
))
186 $(eval
$(call BuildKamailio5Module
,json
,Access to JSON document attributes
,,+libjson-c
))
187 $(eval
$(call BuildKamailio5Module
,jsonrpcs
,JSONRPC server over HTTP
,,+kamailio5-mod-json
+libevent2
))
188 $(eval
$(call BuildKamailio5Module
,kex
,Core extensions
,,))
189 $(eval
$(call BuildKamailio5Module
,lcr
,Least Cost Routing
,,+kamailio5-mod-tm
+libpcre
))
190 $(eval
$(call BuildKamailio5Module
,ldap
,LDAP connector
,,+libopenldap
))
191 $(eval
$(call BuildKamailio5Module
,maxfwd
,Max-Forward processor
,,))
192 $(eval
$(call BuildKamailio5Module
,mediaproxy
,Automatic NAT traversal
,,+kamailio5-mod-dialog
))
193 $(eval
$(call BuildKamailio5Module
,msilo
,SIP message silo
,,+kamailio5-mod-tm
))
194 $(eval
$(call BuildKamailio5Module
,msrp
,MSRP routing engine
,,+kamailio5-mod-tls
))
195 $(eval
$(call BuildKamailio5Module
,nathelper
,NAT helper
,,+kamailio5-mod-usrloc
))
196 $(eval
$(call BuildKamailio5Module
,nat_traversal
,NAT traversal
,,+kamailio5-mod-dialog
+kamailio5-mod-sl
+kamailio5-mod-tm
))
197 $(eval
$(call BuildKamailio5Module
,nosip
,non-sip package handling
,,+kamailio5-mod-rr
))
198 $(eval
$(call BuildKamailio5Module
,path
,SIP path insertion
,,+kamailio5-mod-rr
))
199 $(eval
$(call BuildKamailio5Module
,pdt
,Prefix-to-Domain translator
,,))
200 $(eval
$(call BuildKamailio5Module
,permissions
,Permissions control
,,))
201 $(eval
$(call BuildKamailio5Module
,pike
,Flood detector
,,))
202 $(eval
$(call BuildKamailio5Module
,presence
,Presence server
,,+kamailio5-mod-sl
+kamailio5-mod-tm
+libxml2
))
203 $(eval
$(call BuildKamailio5Module
,presence_dialoginfo
,Dialog Event presence
,,+kamailio5-mod-presence
))
204 $(eval
$(call BuildKamailio5Module
,presence_mwi
,MWI presence
,,+kamailio5-mod-presence
))
205 $(eval
$(call BuildKamailio5Module
,presence_xml
,XCAP presence
,,+kamailio5-mod-presence
+kamailio5-mod-xcap-client
))
206 $(eval
$(call BuildKamailio5Module
,pua
,Presence User Agent
,,+kamailio5-mod-tm
+libxml2
))
207 $(eval
$(call BuildKamailio5Module
,pua_bla
,Bridged Line Appearence PUA
,,+kamailio5-mod-presence
+kamailio5-mod-pua
+kamailio5-mod-usrloc
))
208 $(eval
$(call BuildKamailio5Module
,pua_dialoginfo
,Dialog Event PUA
,,+kamailio5-mod-dialog
+kamailio5-mod-pua
))
209 $(eval
$(call BuildKamailio5Module
,pua_usrloc
,PUA User Location
,,+kamailio5-mod-pua
+kamailio5-mod-usrloc
))
210 $(eval
$(call BuildKamailio5Module
,pua_xmpp
,PUA XMPP
,,+kamailio5-mod-presence
+kamailio5-mod-pua
+kamailio5-mod-xmpp
))
211 $(eval
$(call BuildKamailio5Module
,pv
,Pseudo-Variables
,,))
212 $(eval
$(call BuildKamailio5Module
,qos
,QoS control
,,+kamailio5-mod-dialog
))
213 $(eval
$(call BuildKamailio5Module
,ratelimit
,Traffic shapping
,,))
214 $(eval
$(call BuildKamailio5Module
,regex
,Regular Expression
,,+libpcre
))
215 $(eval
$(call BuildKamailio5Module
,registrar
,SIP Registrar
,,+kamailio5-mod-usrloc
))
216 $(eval
$(call BuildKamailio5Module
,rls
,Resource List Server
,,+kamailio5-mod-presence
+kamailio5-mod-pua
+kamailio5-mod-tm
+libxml2
))
217 $(eval
$(call BuildKamailio5Module
,rr
,Record-Route and Route
,,))
218 $(eval
$(call BuildKamailio5Module
,rtimer
,Routing Timer
,,))
219 $(eval
$(call BuildKamailio5Module
,rtpengine
,RTP engine
,,+kamailio5-mod-tm
))
220 $(eval
$(call BuildKamailio5Module
,rtpproxy
,RTP proxy
,,+kamailio5-mod-tm
))
221 $(eval
$(call BuildKamailio5Module
,sanity
,SIP sanity checks
,,+kamailio5-mod-sl
))
222 $(eval
$(call BuildKamailio5Module
,sctp
,SCTP support
,,+libsctp
))
223 $(eval
$(call BuildKamailio5Module
,sipcapture
,SIP capture
,,))
224 $(eval
$(call BuildKamailio5Module
,siptrace
,SIP trace
,,))
225 $(eval
$(call BuildKamailio5Module
,siputils
,SIP utilities
,,+kamailio5-mod-sl
))
226 $(eval
$(call BuildKamailio5Module
,sl
,Stateless replier
,,))
227 $(eval
$(call BuildKamailio5Module
,sms
,SIP-to-SMS IM gateway
,,+kamailio5-mod-tm
))
228 $(eval
$(call BuildKamailio5Module
,speeddial
,Per-user speed-dial controller
,,))
229 $(eval
$(call BuildKamailio5Module
,sqlops
,SQL operations
,,))
230 $(eval
$(call BuildKamailio5Module
,statistics
,Script statistics
,,))
231 $(eval
$(call BuildKamailio5Module
,stun
,STUN server support
,,))
232 $(eval
$(call BuildKamailio5Module
,sst
,SIP Session Timer
,,+kamailio5-mod-dialog
+kamailio5-mod-sl
))
233 $(eval
$(call BuildKamailio5Module
,tcpops
,TCP options tweaking operations
,,))
234 $(eval
$(call BuildKamailio5Module
,textops
,Text operations
,,))
235 $(eval
$(call BuildKamailio5Module
,tls
,TLS operations
,,+libopenssl
))
236 $(eval
$(call BuildKamailio5Module
,topoh
,Topology hiding
,,+kamailio5-mod-rr
))
237 $(eval
$(call BuildKamailio5Module
,tm
,Transaction
,,))
238 $(eval
$(call BuildKamailio5Module
,tmx
,Transaction module extensions
,,))
239 $(eval
$(call BuildKamailio5Module
,uac
,User Agent Client
,,+kamailio5-mod-tm
))
240 $(eval
$(call BuildKamailio5Module
,uac_redirect
,User Agent Client redirection
,,+kamailio5-mod-tm
))
241 $(eval
$(call BuildKamailio5Module
,uri_db
,Database-backend SIP URI checking
,,))
242 $(eval
$(call BuildKamailio5Module
,userblacklist
,User blacklists
,,))
243 $(eval
$(call BuildKamailio5Module
,usrloc
,User location
,,))
244 $(eval
$(call BuildKamailio5Module
,utils
,Misc utilities
,,+libcurl
+libxml2
))
245 $(eval
$(call BuildKamailio5Module
,uuid
,UUID utilities
,,+libuuid
))
246 $(eval
$(call BuildKamailio5Module
,xcap_client
,XCAP Client
,,+libcurl
))
247 $(eval
$(call BuildKamailio5Module
,xlog
,Advanced logger
,,))
248 $(eval
$(call BuildKamailio5Module
,xmlrpc
,XML RPC module
,,+libxml2
))
249 $(eval
$(call BuildKamailio5Module
,xmpp
,SIP-to-XMPP Gateway
,,+kamailio5-mod-tm
+libexpat
))