2 # Copyright (C) 2014 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
14 PKG_SOURCE_URL
:=http
://www.kamailio.org
/pub
/kamailio
/$(PKG_VERSION
)/src
/
15 PKG_SOURCE
:=kamailio-
$(PKG_VERSION
)$(PKG_VARIANT
)_src.
tar.gz
16 PKG_MD5SUM
:=6b5dc98be07a5d68b3701d7955102d34
22 include $(INCLUDE_DIR
)/nls.mk
23 include $(INCLUDE_DIR
)/package.mk
25 TARGET_CFLAGS
+= $(FPIC
)
26 PREBUILT_STAMP
=$(STAGING_DIR
)/stamp
/.
$(PKG_NAME
)_prebuilt
27 TAR_CMD
:=$(HOST_TAR
) -C
$(PKG_BUILD_DIR
) --strip-components
1 $(TAR_OPTIONS
)
29 define Package
/kamailio4
/Default
33 URL
:=http
://www.kamailio.org
/
34 MAINTAINER
:=Jiri Slachta
<slachta@cesnet.cz
>
35 DEPENDS
:=$(ICONV_DEPENDS
) +libncurses
+libpthread
+libreadline
+libxml2
38 define Package
/kamailio4
39 $(call Package
/kamailio4
/Default
)
40 TITLE
:=Mature and flexible open source SIP server
, v
$(PKG_VERSION
)
44 define Package
/kamailio4
/conffiles
46 /etc
/kamailio
/kamailio.cfg
47 /etc
/kamailio
/kamailio-advanced.cfg
48 /etc
/kamailio
/dictionary.kamailio
51 define Package
/kamailio4-tools
52 $(call Package
/kamailio4
/Default
)
53 TITLE
:=Kamailio4 control tools
57 define Package
/kamailio4-tools
/conffiles
58 /etc
/kamailio
/kamctlrc
61 define Package
/kamailio4
/install
62 $(INSTALL_DIR
) $(1)/usr
/sbin
64 $(PKG_INSTALL_DIR
)/usr
/sbin
/{kamailio
,kamcmd
} \
66 $(INSTALL_DIR
) $(1)/usr
/lib
/kamailio
/modules
68 $(PKG_INSTALL_DIR
)/usr
/lib
/kamailio
/lib
*.so
* \
69 $(1)/usr
/lib
/kamailio
/
70 $(INSTALL_DIR
) $(1)/etc
/kamailio
72 $(PKG_INSTALL_DIR
)/etc
/kamailio
/{kamailio-advanced.cfg
,kamailio.cfg
} \
74 $(INSTALL_DIR
) $(1)/etc
/kamailio
76 $(PKG_INSTALL_DIR
)/etc
/kamailio
/dictionary.kamailio \
78 $(INSTALL_DIR
) $(1)/etc
/default
80 .
/files
/kamailio.default \
81 $(1)/etc
/default
/kamailio
82 $(INSTALL_DIR
) $(1)/etc
/init.d
84 .
/files
/kamailio.init \
85 $(1)/etc
/init.d
/kamailio
88 define Package
/kamailio4-tools
/install
89 $(INSTALL_DIR
) $(1)/etc
/kamailio
91 $(PKG_BUILD_DIR
)/utils
/kamctl
/kamctlrc \
93 $(INSTALL_DIR
) $(1)/usr
/sbin
95 $(PKG_INSTALL_DIR
)/usr
/sbin
/kam
{ctl
,dbctl
} \
97 $(INSTALL_DIR
) $(1)/usr
/lib
/kamailio
99 $(PKG_INSTALL_DIR
)/usr
/lib
/kamailio
/kamctl \
100 $(1)/usr
/lib
/kamailio
/
103 define Package
/kamailio4
/install/module
104 $(INSTALL_DIR
) $(1)/usr
/lib
/kamailio
/modules
105 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/kamailio
/modules
/*$(2).so
* $(1)/usr
/lib
/kamailio
/modules
/
108 define BuildKamailio4Module
109 define Package
/kamailio4-mod-
$(subst _
,-,$(1))
110 $$(call Package
/kamailio4
/Default
)
111 TITLE
:= kamailio4
$(2) module
112 DEPENDS
:=kamailio4
$(4)
115 define Package
/kamailio4-mod-
$(subst _
,-,$(1))/description
116 This package provides support for
$(3) in Kamailio.
119 define Package
/kamailio4-mod-
$(subst _
,-,$(1))/install
120 $(call Package
/kamailio4
/install/module
,$$(1),$(1))
124 KAM_MODULES
+=kamailio4-mod-
$(subst _
,-,$(1))
127 ################################
128 # Kamailio module parameters
132 # 3 - Module description
134 ################################
136 $(eval
$(call BuildKamailio4Module
,acc
,Accounting
,,+kamailio4-mod-tm
))
137 $(eval
$(call BuildKamailio4Module
,alias_db
,Database-backend aliases
,,+kamailio4-mod-db-sqlite
))
138 $(eval
$(call BuildKamailio4Module
,auth
,Authentication Framework
,,))
139 $(eval
$(call BuildKamailio4Module
,auth_db
,Database-backend authentication
,,+kamailio4-mod-auth
+kamailio4-mod-db-sqlite
))
140 $(eval
$(call BuildKamailio4Module
,auth_diameter
,Diameter-backend authentication
,,+kamailio4-mod-sl
))
141 $(eval
$(call BuildKamailio4Module
,avpops
,AVP operation
,,))
142 $(eval
$(call BuildKamailio4Module
,benchmark
,Config benchmark
,,))
143 $(eval
$(call BuildKamailio4Module
,cfgutils
,Config utilities
,,))
144 $(eval
$(call BuildKamailio4Module
,cfg_db
,Load core and module parameters from database
,,+kamailio4-mod-db-sqlite
))
145 $(eval
$(call BuildKamailio4Module
,cfg_rpc
,Update core and module parameters at runtime via RPC interface
,,))
146 $(eval
$(call BuildKamailio4Module
,cnxcc
,Limit call duration
,,+kamailio4-mod-dialog
))
147 $(eval
$(call BuildKamailio4Module
,corex
,Legacy functions
,,))
148 $(eval
$(call BuildKamailio4Module
,ctl
,BINRPC transport interface
,,))
149 $(eval
$(call BuildKamailio4Module
,db_flatstore
,Fast writing-only text database-backed
,,))
150 $(eval
$(call BuildKamailio4Module
,db_mysql
,MySQL database-backend
,,+libmysqlclient
))
151 $(eval
$(call BuildKamailio4Module
,db_postgres
,PostgreSQL Database-backend
,,+libpq
))
152 $(eval
$(call BuildKamailio4Module
,db_sqlite
,Sqlite DB support
,,+libsqlite3
))
153 $(eval
$(call BuildKamailio4Module
,db_text
,Text database-backend
,,))
154 $(eval
$(call BuildKamailio4Module
,db_unixodbc
,UnixODBC Database-backend
,,+unixodbc
))
155 $(eval
$(call BuildKamailio4Module
,dialog
,Dialog support
,,+kamailio4-mod-rr
+kamailio4-mod-tm
))
156 $(eval
$(call BuildKamailio4Module
,dialog_ng
,Dialog support
,,+kamailio4-mod-rr
+kamailio4-mod-tm
))
157 $(eval
$(call BuildKamailio4Module
,dialplan
,Dialplan management
,,))
158 $(eval
$(call BuildKamailio4Module
,dispatcher
,Dispatcher
,,))
159 $(eval
$(call BuildKamailio4Module
,diversion
,Diversion header insertion
,,))
160 $(eval
$(call BuildKamailio4Module
,domain
,Multi-domain support
,,))
161 $(eval
$(call BuildKamailio4Module
,domainpolicy
,Domain policy
,,))
162 $(eval
$(call BuildKamailio4Module
,enum
,ENUM lookup
,,))
163 $(eval
$(call BuildKamailio4Module
,exec
,External exec
,,))
164 $(eval
$(call BuildKamailio4Module
,group
,Database-backend user-groups
,,))
165 $(eval
$(call BuildKamailio4Module
,h350
,H
.350,,+kamailio4-mod-ldap
+libopenldap
))
166 $(eval
$(call BuildKamailio4Module
,htable
,Hash Table
,,))
167 $(eval
$(call BuildKamailio4Module
,imc
,IM conferencing
,,+kamailio4-mod-db-mysql
+kamailio4-mod-tm
))
168 $(eval
$(call BuildKamailio4Module
,ipops
,IP and IPv6 operations
,,))
169 $(eval
$(call BuildKamailio4Module
,json
,Access to JSON document attributes
,,+libjson
))
170 $(eval
$(call BuildKamailio4Module
,kex
,Core extensions
,,))
171 $(eval
$(call BuildKamailio4Module
,lcr
,Least Cost Routing
,,+kamailio4-mod-tm
+libpcre
))
172 $(eval
$(call BuildKamailio4Module
,ldap
,LDAP connector
,,+libopenldap
))
173 $(eval
$(call BuildKamailio4Module
,maxfwd
,Max-Forward processor
,,))
174 $(eval
$(call BuildKamailio4Module
,mediaproxy
,Automatic NAT traversal
,,+kamailio4-mod-dialog
))
175 $(eval
$(call BuildKamailio4Module
,mi_datagram
,Datagram support for Management Interface
,,))
176 $(eval
$(call BuildKamailio4Module
,mi_fifo
,FIFO support for Management Interface
,,))
177 $(eval
$(call BuildKamailio4Module
,mi_rpc
,RPC support for Management Interface
,,))
178 $(eval
$(call BuildKamailio4Module
,msilo
,SIP message silo
,,+kamailio4-mod-tm
))
179 $(eval
$(call BuildKamailio4Module
,msrp
,MSRP routing engine
,,+kamailio4-mod-tls
))
180 $(eval
$(call BuildKamailio4Module
,nathelper
,NAT helper
,,+kamailio4-mod-usrloc
))
181 $(eval
$(call BuildKamailio4Module
,nat_traversal
,NAT traversal
,,+kamailio4-mod-dialog
+kamailio4-mod-sl
+kamailio4-mod-tm
))
182 $(eval
$(call BuildKamailio4Module
,path
,SIP path insertion
,,+kamailio4-mod-rr
))
183 $(eval
$(call BuildKamailio4Module
,pdt
,Prefix-to-Domain translator
,,))
184 $(eval
$(call BuildKamailio4Module
,permissions
,Permissions control
,,))
185 $(eval
$(call BuildKamailio4Module
,pike
,Flood detector
,,))
186 $(eval
$(call BuildKamailio4Module
,presence
,Presence server
,,+kamailio4-mod-sl
+kamailio4-mod-tm
+libxml2
))
187 $(eval
$(call BuildKamailio4Module
,presence_dialoginfo
,Dialog Event presence
,,+kamailio4-mod-presence
))
188 $(eval
$(call BuildKamailio4Module
,presence_mwi
,Message Waiting Indication presence
,,+kamailio4-mod-presence
))
189 $(eval
$(call BuildKamailio4Module
,presence_xml
,XCAP presence
,,+kamailio4-mod-presence
+kamailio4-mod-xcap-client
))
190 $(eval
$(call BuildKamailio4Module
,pua
,Presence User Agent
,,+kamailio4-mod-tm
+libxml2
))
191 $(eval
$(call BuildKamailio4Module
,pua_bla
,Bridged Line Appearence PUA
,,+kamailio4-mod-presence
+kamailio4-mod-pua
+kamailio4-mod-usrloc
))
192 $(eval
$(call BuildKamailio4Module
,pua_dialoginfo
,Dialog Event PUA
,,+kamailio4-mod-dialog
+kamailio4-mod-pua
))
193 $(eval
$(call BuildKamailio4Module
,pua_mi
,PUA Management Interface
,,+kamailio4-mod-pua
))
194 $(eval
$(call BuildKamailio4Module
,pua_usrloc
,PUA User Location
,,+kamailio4-mod-pua
+kamailio4-mod-usrloc
))
195 $(eval
$(call BuildKamailio4Module
,pua_xmpp
,PUA XMPP
,,+kamailio4-mod-presence
+kamailio4-mod-pua
+kamailio4-mod-xmpp
))
196 $(eval
$(call BuildKamailio4Module
,pv
,Pseudo-Variables
,,))
197 $(eval
$(call BuildKamailio4Module
,qos
,QoS control
,,+kamailio4-mod-dialog
))
198 $(eval
$(call BuildKamailio4Module
,ratelimit
,Traffic shapping
,,))
199 $(eval
$(call BuildKamailio4Module
,regex
,Regular Expression
,,+libpcre
))
200 $(eval
$(call BuildKamailio4Module
,registrar
,SIP Registrar
,,+kamailio4-mod-usrloc
))
201 $(eval
$(call BuildKamailio4Module
,rls
,Resource List Server
,,+kamailio4-mod-presence
+kamailio4-mod-pua
+kamailio4-mod-tm
+libxml2
))
202 $(eval
$(call BuildKamailio4Module
,rr
,Record-Route and Route
,,))
203 $(eval
$(call BuildKamailio4Module
,rtimer
,Routing Timer
,,))
204 $(eval
$(call BuildKamailio4Module
,rtpengine
,RTP engine
,,+kamailio4-mod-tm
))
205 $(eval
$(call BuildKamailio4Module
,rtpproxy
,RTP proxy
,,+kamailio4-mod-tm
))
206 $(eval
$(call BuildKamailio4Module
,sanity
,SIP sanity checks
,,+kamailio4-mod-sl
))
207 $(eval
$(call BuildKamailio4Module
,sipcapture
,SIP capture
,,))
208 $(eval
$(call BuildKamailio4Module
,siptrace
,SIP trace
,,))
209 $(eval
$(call BuildKamailio4Module
,siputils
,SIP utilities
,,+kamailio4-mod-sl
))
210 $(eval
$(call BuildKamailio4Module
,sl
,Stateless replier
,,))
211 $(eval
$(call BuildKamailio4Module
,sms
,SIP-to-SMS IM gateway
,,+kamailio4-mod-tm
))
212 $(eval
$(call BuildKamailio4Module
,speeddial
,Per-user speed-dial controller
,,))
213 $(eval
$(call BuildKamailio4Module
,sqlops
,SQL operations
,,))
214 $(eval
$(call BuildKamailio4Module
,statistics
,Script statistics
,,))
215 $(eval
$(call BuildKamailio4Module
,stun
,STUN server support
,,))
216 $(eval
$(call BuildKamailio4Module
,sst
,SIP Session Timer
,,+kamailio4-mod-dialog
+kamailio4-mod-sl
))
217 $(eval
$(call BuildKamailio4Module
,textops
,Text operations
,,))
218 $(eval
$(call BuildKamailio4Module
,tls
,TLS operations
,,+libopenssl
))
219 $(eval
$(call BuildKamailio4Module
,topoh
,Topology hiding
,,+kamailio4-mod-rr
))
220 $(eval
$(call BuildKamailio4Module
,tm
,Transaction
,,))
221 $(eval
$(call BuildKamailio4Module
,tmx
,Transaction module extensions
,,))
222 $(eval
$(call BuildKamailio4Module
,uac
,User Agent Client
,,+kamailio4-mod-tm
))
223 $(eval
$(call BuildKamailio4Module
,uac_redirect
,User Agent Client redirection
,,+kamailio4-mod-tm
))
224 $(eval
$(call BuildKamailio4Module
,uri_db
,Database-backend SIP URI checking
,,))
225 $(eval
$(call BuildKamailio4Module
,userblacklist
,User blacklists
,,))
226 $(eval
$(call BuildKamailio4Module
,usrloc
,User location
,,))
227 $(eval
$(call BuildKamailio4Module
,utils
,Misc utilities
,,+libcurl
+libxml2
))
228 $(eval
$(call BuildKamailio4Module
,xcap_client
,XCAP Client
,,+libcurl
))
229 $(eval
$(call BuildKamailio4Module
,xlog
,Advanced logger
,,))
230 $(eval
$(call BuildKamailio4Module
,xmpp
,SIP-to-XMPP Gateway
,,+kamailio4-mod-tm
+libexpat
))
234 cfg_dir
=/etc
/kamailio
/ \
236 data_dir
=/var
/lib
/kamailio
/ \
237 lib_dir
=/usr
/lib
/kamailio
/ \
238 modules_dir
=/usr
/lib
/kamailio
/ \
239 include_modules
="$(INCL_MODULES)" \
240 cfg_target
:=/etc
/kamailio
/ \
242 extra_defs
="-DUSE_PTHREAD_MUTEX " \
243 CFLAGS
="$(TARGET_CFLAGS)" \
244 LOCALBASE
="$(STAGING_DIR)/usr" \
245 SYSBASE
="$(STAGING_DIR)/usr" \
246 PCREDEFS
:="$(TARGET_CPPFLAGS)" \
247 PCRELIBS
:="$(TARGET_LDFLAGS)" \
248 CROSS_COMPILE
=$(TARGET_CROSS
) \
251 DESTDIR
=$(PKG_INSTALL_DIR
) \
255 $(MAKE
) -C
$(PKG_BUILD_DIR
) $(PKG_MAKE_ARGS
) \
256 EXTRA_LIBS
=-L
$(STAGING_DIR
)/usr
/lib
/ \
258 $(MAKE
) -C
$(PKG_BUILD_DIR
) $(PKG_MAKE_ARGS
) \
262 $(eval
$(call BuildPackage
,kamailio4
))
263 $(eval
$(call BuildPackage
,kamailio4-tools
))
264 $(foreach m
,$(KAM_MODULES
),$(eval
$(call BuildPackage
,$(m
))))