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
:=519d1dfbddf7dbead3a020321582d471
20 PKG_LICENSE_FILES
:=COPYING
21 PKG_MAINTAINER
:=Jiri Slachta
<slachta@cesnet.cz
>
26 include $(INCLUDE_DIR
)/nls.mk
27 include $(INCLUDE_DIR
)/package.mk
29 TARGET_CFLAGS
+= $(FPIC
)
30 PREBUILT_STAMP
=$(STAGING_DIR
)/stamp
/.
$(PKG_NAME
)_prebuilt
31 TAR_CMD
:=$(HOST_TAR
) -C
$(PKG_BUILD_DIR
) --strip-components
1 $(TAR_OPTIONS
)
33 define Package
/kamailio3
/Default
37 URL
:=http
://www.kamailio.org
/
38 DEPENDS
:=$(ICONV_DEPENDS
) +libncurses
+libpthread
+libreadline
41 define Package
/kamailio3
42 $(call Package
/kamailio3
/Default
)
43 TITLE
:=Mature and flexible open source SIP server
, v
$(PKG_VERSION
)
47 define Package
/kamailio3
/conffiles
49 /etc
/kamailio
/kamailio.cfg
50 /etc
/kamailio
/dictionary.kamailio
51 /etc
/kamailio
/kamctlrc
54 define Package
/kamailio3
/install
55 $(INSTALL_DIR
) $(1)/usr
/sbin
56 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/kam
{ailio
,ctl
,dbctl
} $(1)/usr
/sbin
/
57 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/sercmd
$(1)/usr
/sbin
/
59 $(INSTALL_DIR
) $(1)/usr
/lib
/kamailio
/modules
{,_s
,_k
}
60 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/kamailio
/lib
*.so
* $(1)/usr
/lib
/kamailio
/
62 $(INSTALL_DIR
) $(1)/etc
/kamailio
64 $(PKG_INSTALL_DIR
)/etc
/kamailio
/{dictionary.kamailio
,kamailio.cfg
,kamctlrc
} \
67 $(INSTALL_DIR
) $(1)/etc
/default
69 .
/files
/kamailio.default \
70 $(1)/etc
/default
/kamailio
72 $(INSTALL_DIR
) $(1)/etc
/init.d
74 .
/files
/kamailio.init \
75 $(1)/etc
/init.d
/kamailio
77 $(INSTALL_DIR
) $(1)/usr
/lib
/kamailio
79 $(PKG_INSTALL_DIR
)/usr
/lib
/kamailio
/kamctl \
80 $(1)/usr
/lib
/kamailio
/
83 define Package
/kamailio3
/install/module
84 $(INSTALL_DIR
) $(1)/usr
/lib
/kamailio
/$(3)
85 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/kamailio
/$(3)/*$(2).so
* $(1)/usr
/lib
/kamailio
/$(3)/
88 define Package
/kamailio3
/install/dbfiles
89 $(INSTALL_DIR
) $(1)/usr
/share
/kamailio
/$(2)
90 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/kamailio
/$(2)/* $(1)/usr
/share
/kamailio
/$(2)/
93 define BuildKamailio3Module
94 define Package
/kamailio3-mod-
$(subst _
,-,$(1))
95 $$(call Package
/kamailio3
/Default
)
96 TITLE
:= kamailio3
$(2) module
97 DEPENDS
:=kamailio3
$(4)
100 define Package
/kamailio3-mod-
$(subst _
,-,$(1))/description
101 This package provides support for
$(3) in Kamailio.
104 define Package
/kamailio3-mod-
$(subst _
,-,$(1))/install
105 $(call Package
/kamailio3
/install/module
,$$(1),$(1),$(5))
106 $(foreach d
,$(6),$(call Package
/kamailio3
/install/dbfiles
,$$(1),$(d
));)
110 KAM_MODULES
+=kamailio3-mod-
$(subst _
,-,$(1))
113 ################################
114 # Kamailio module parameters
121 # 6 - DB file directories
122 ################################
124 $(eval
$(call BuildKamailio3Module
,acc
,Accounting
,,+kamailio3-mod-tm
,modules_k
))
125 $(eval
$(call BuildKamailio3Module
,alias_db
,Database-backend aliases
,,+kamailio3-mod-db-sqlite
,modules_k
))
126 $(eval
$(call BuildKamailio3Module
,auth
,Authentication Framework
,,,modules
))
127 $(eval
$(call BuildKamailio3Module
,auth_db
,Database-backend authentication
,,+kamailio3-mod-auth
+kamailio3-mod-db-sqlite
,modules_k
))
128 $(eval
$(call BuildKamailio3Module
,auth_diameter
,Diameter-backend authentication
,,+kamailio3-mod-sl
,modules_k
))
129 $(eval
$(call BuildKamailio3Module
,avpops
,AVP operation
,,,modules
))
130 $(eval
$(call BuildKamailio3Module
,benchmark
,Config benchmark
,,,modules_k
))
131 $(eval
$(call BuildKamailio3Module
,cfgutils
,Config utilities
,,,modules_k
))
132 $(eval
$(call BuildKamailio3Module
,cfg_db
,Load core and module parameters from database
,,+kamailio3-mod-db-sqlite
,modules
))
133 $(eval
$(call BuildKamailio3Module
,cfg_rpc
,Update core and module parameters at runtime via RPC interface
,,,modules
))
134 $(eval
$(call BuildKamailio3Module
,ctl
,BINRPC transport interface
,,,modules
))
135 $(eval
$(call BuildKamailio3Module
,db_flatstore
,Fast writing-only text database-backed
,,,modules
))
136 $(eval
$(call BuildKamailio3Module
,db_mysql
,MySQL database-backend
,,+libmysqlclient
,modules
,mysql
))
137 $(eval
$(call BuildKamailio3Module
,db_postgres
,PostgreSQL Database-backend
,,+libpq
,modules
,postgres
))
138 $(eval
$(call BuildKamailio3Module
,db_sqlite
,Sqlite DB support
,,+libsqlite3
,modules_k
,db_sqlite
))
139 $(eval
$(call BuildKamailio3Module
,db_text
,Text database-backend
,,,modules_k
,dbtext
/kamailio
))
140 $(eval
$(call BuildKamailio3Module
,db_unixodbc
,UnixODBC Database-backend
,,+unixodbc
,modules_k
))
141 $(eval
$(call BuildKamailio3Module
,dialog
,Dialog support
,,+kamailio3-mod-rr
+kamailio3-mod-tm
,modules_k
))
142 $(eval
$(call BuildKamailio3Module
,dialplan
,Dialplan management
,,+libpcre
,modules
))
143 $(eval
$(call BuildKamailio3Module
,dispatcher
,Dispatcher
,,,modules_s
))
144 $(eval
$(call BuildKamailio3Module
,diversion
,Diversion header insertion
,,,modules_s
))
145 $(eval
$(call BuildKamailio3Module
,domain
,Multi-domain support
,,,modules_k
))
146 $(eval
$(call BuildKamailio3Module
,domainpolicy
,Domain policy
,,,modules_k
))
147 $(eval
$(call BuildKamailio3Module
,drouting
,Dynamic routing module
,,,modules_k
))
148 $(eval
$(call BuildKamailio3Module
,enum
,ENUM lookup
,,,modules
))
149 $(eval
$(call BuildKamailio3Module
,exec
,External exec
,,,modules_k
))
150 $(eval
$(call BuildKamailio3Module
,group
,Database-backend user-groups
,,,modules_k
))
151 $(eval
$(call BuildKamailio3Module
,h350
,H
.350,,+kamailio3-mod-ldap
+libopenldap
,modules_k
))
152 $(eval
$(call BuildKamailio3Module
,htable
,Hash Table
,,,modules_k
))
153 $(eval
$(call BuildKamailio3Module
,imc
,IM conferencing
,,+kamailio3-mod-db-mysql
+kamailio3-mod-tm
,modules_k
))
154 $(eval
$(call BuildKamailio3Module
,ipops
,IP and IPv6 operations module
,,,modules
))
155 $(eval
$(call BuildKamailio3Module
,kex
,Core extensions
,,,modules_k
))
156 $(eval
$(call BuildKamailio3Module
,lcr
,Least Cost Routing
,,+kamailio3-mod-tm
+libpcre
,modules
))
157 $(eval
$(call BuildKamailio3Module
,ldap
,LDAP connector
,,+libopenldap
,modules_k
))
158 $(eval
$(call BuildKamailio3Module
,maxfwd
,Max-Forward processor
,,,modules_k
))
159 $(eval
$(call BuildKamailio3Module
,mediaproxy
,Automatic NAT traversal
,,+kamailio3-mod-dialog
,modules
))
160 $(eval
$(call BuildKamailio3Module
,mi_datagram
,Datagram support for Management Interface
,,,modules_k
))
161 $(eval
$(call BuildKamailio3Module
,mi_fifo
,FIFO support for Management Interface
,,,modules_k
))
162 $(eval
$(call BuildKamailio3Module
,mi_rpc
,RPC support for Management Interface
,,,modules
))
163 $(eval
$(call BuildKamailio3Module
,msilo
,SIP message silo
,,+kamailio3-mod-tm
,modules_k
))
164 $(eval
$(call BuildKamailio3Module
,nat_traversal
,NAT traversal
,,+kamailio3-mod-dialog
+kamailio3-mod-sl
+kamailio3-mod-tm
,modules_k
))
165 $(eval
$(call BuildKamailio3Module
,nathelper
,NAT traversal helper
,,+rtpproxy
,modules_k
))
166 $(eval
$(call BuildKamailio3Module
,path
,SIP path insertion
,,+kamailio3-mod-rr
,modules_k
))
167 $(eval
$(call BuildKamailio3Module
,pdt
,Prefix-to-Domain translator
,,,modules_k
))
168 $(eval
$(call BuildKamailio3Module
,permissions
,Permissions control
,,,modules_k
))
169 $(eval
$(call BuildKamailio3Module
,pike
,Flood detector
,,,modules_k
))
170 $(eval
$(call BuildKamailio3Module
,presence
,Presence server
,,+kamailio3-mod-sl
+kamailio3-mod-tm
+libxml2
,modules_k
))
171 $(eval
$(call BuildKamailio3Module
,presence_dialoginfo
,Dialog Event presence
,,+kamailio3-mod-presence
,modules_k
))
172 $(eval
$(call BuildKamailio3Module
,presence_mwi
,Message Waiting Indication presence
,,+kamailio3-mod-presence
,modules_k
))
173 $(eval
$(call BuildKamailio3Module
,presence_xml
,XCAP presence
,,+kamailio3-mod-presence
+kamailio3-mod-xcap-client
,modules_k
))
174 $(eval
$(call BuildKamailio3Module
,pua
,Presence User Agent
,,+kamailio3-mod-tm
+libxml2
,modules_k
))
175 $(eval
$(call BuildKamailio3Module
,pua_bla
,Bridged Line Appearence PUA
,,+kamailio3-mod-presence
+kamailio3-mod-pua
+kamailio3-mod-usrloc
,modules_k
))
176 $(eval
$(call BuildKamailio3Module
,pua_dialoginfo
,Dialog Event PUA
,,+kamailio3-mod-dialog
+kamailio3-mod-pua
,modules_k
))
177 $(eval
$(call BuildKamailio3Module
,pua_mi
,PUA Management Interface
,,+kamailio3-mod-pua
,modules_k
))
178 $(eval
$(call BuildKamailio3Module
,pua_usrloc
,PUA User Location
,,+kamailio3-mod-pua
+kamailio3-mod-usrloc
,modules_k
))
179 $(eval
$(call BuildKamailio3Module
,pua_xmpp
,PUA XMPP
,,+kamailio3-mod-presence
+kamailio3-mod-pua
+kamailio3-mod-xmpp
,modules_k
))
180 $(eval
$(call BuildKamailio3Module
,pv
,Pseudo-Variables
,,,modules_k
))
181 $(eval
$(call BuildKamailio3Module
,qos
,QoS control
,,+kamailio3-mod-dialog
,modules_k
))
182 $(eval
$(call BuildKamailio3Module
,ratelimit
,Traffic shapping
,,,modules
))
183 $(eval
$(call BuildKamailio3Module
,regex
,Regular Expression
,,+libpcre
,modules_k
))
184 $(eval
$(call BuildKamailio3Module
,registrar
,SIP Registrar
,,+kamailio3-mod-usrloc
,modules_k
))
185 $(eval
$(call BuildKamailio3Module
,rls
,Resource List Server
,,+kamailio3-mod-presence
+kamailio3-mod-pua
+kamailio3-mod-tm
+libxml2
,modules_k
))
186 $(eval
$(call BuildKamailio3Module
,rr
,Record-Route and Route
,,,modules_k
))
187 $(eval
$(call BuildKamailio3Module
,rtimer
,Routing Timer
,,,modules_k
))
188 $(eval
$(call BuildKamailio3Module
,rtpproxy
,RTP proxy
,,+kamailio3-mod-tm
,modules
))
189 $(eval
$(call BuildKamailio3Module
,sanity
,SIP sanity checks
,,+kamailio3-mod-sl
,modules
))
190 $(eval
$(call BuildKamailio3Module
,sipcapture
,SIP capture module
,,,modules
))
191 $(eval
$(call BuildKamailio3Module
,siptrace
,SIP trace
,,,modules_k
))
192 $(eval
$(call BuildKamailio3Module
,siputils
,SIP utilities
,,+kamailio3-mod-sl
,modules_k
))
193 $(eval
$(call BuildKamailio3Module
,sl
,Stateless replier
,,,modules
))
194 $(eval
$(call BuildKamailio3Module
,sms
,SIP-to-SMS IM gateway
,,+kamailio3-mod-tm
,modules
))
195 $(eval
$(call BuildKamailio3Module
,speeddial
,Per-user speed-dial controller
,,,modules_k
))
196 $(eval
$(call BuildKamailio3Module
,sqlops
,SQL operations
,,,modules_k
))
197 $(eval
$(call BuildKamailio3Module
,statistics
,Script statistics
,,,modules_k
))
198 $(eval
$(call BuildKamailio3Module
,sst
,SIP Session Timer
,,+kamailio3-mod-dialog
+kamailio3-mod-sl
,modules_k
))
199 $(eval
$(call BuildKamailio3Module
,textops
,Text operations
,,,modules_k
))
200 $(eval
$(call BuildKamailio3Module
,tls
,TLS operations
,,+libopenssl
,modules
))
201 $(eval
$(call BuildKamailio3Module
,tm
,Transaction
,,,modules
))
202 $(eval
$(call BuildKamailio3Module
,tmx
,Transaction module extensions
,,,modules_k
))
203 $(eval
$(call BuildKamailio3Module
,uac
,User Agent Client
,,+kamailio3-mod-tm
,modules_k
))
204 $(eval
$(call BuildKamailio3Module
,uac_redirect
,User Agent Client redirection
,,+kamailio3-mod-tm
,modules_k
))
205 $(eval
$(call BuildKamailio3Module
,uri_db
,Database-backend SIP URI checking
,,,modules_k
))
206 $(eval
$(call BuildKamailio3Module
,userblacklist
,User blacklists
,,,modules_k
))
207 $(eval
$(call BuildKamailio3Module
,usrloc
,User location
,,+libxml2
,modules_k
))
208 $(eval
$(call BuildKamailio3Module
,utils
,Misc utilities
,,+libcurl
+libxml2
,modules
))
209 $(eval
$(call BuildKamailio3Module
,xcap_client
,XCAP Client
,,+libcurl
,modules_k
))
210 $(eval
$(call BuildKamailio3Module
,xlog
,Advanced logger
,,,modules_k
))
211 $(eval
$(call BuildKamailio3Module
,xmlrpc
,XML RPC module
,,+libxml2
,modules
))
212 $(eval
$(call BuildKamailio3Module
,xmpp
,SIP-to-XMPP Gateway
,,+kamailio3-mod-tm
+libexpat
+libxml2
,modules_k
))
216 cfg_dir
=/etc
/kamailio
/ \
218 data_dir
=/usr
/share
/kamailio
/ \
219 lib_dir
=/usr
/lib
/kamailio
/ \
220 modules_dir
=/usr
/lib
/kamailio
/ \
221 include_modules
="$(INCL_MODULES)" \
222 cfg_target
:=/etc
/kamailio
/ \
224 extra_defs
="-DUSE_PTHREAD_MUTEX " \
225 CFLAGS
="$(TARGET_CFLAGS)" \
226 LOCALBASE
="$(STAGING_DIR)/usr" \
227 SYSBASE
="$(STAGING_DIR)/usr" \
228 PCREDEFS
:="$(TARGET_CPPFLAGS)" \
229 PCRELIBS
:="$(TARGET_LDFLAGS)" \
230 CROSS_COMPILE
=$(TARGET_CROSS
) \
233 DESTDIR
=$(PKG_INSTALL_DIR
) \
237 $(MAKE
) -C
$(PKG_BUILD_DIR
) $(PKG_MAKE_ARGS
) \
238 EXTRA_LIBS
=-L
$(STAGING_DIR
)/usr
/lib
/ \
240 $(MAKE
) -C
$(PKG_BUILD_DIR
) $(PKG_MAKE_ARGS
) \
244 $(eval
$(call BuildPackage
,kamailio3
))
245 $(foreach m
,$(KAM_MODULES
),$(eval
$(call BuildPackage
,$(m
))))