Package Details: kamailio 5.8.3-1

Git Clone URL: https://aur.archlinux.org/kamailio.git (read-only, click to copy)
Package Base: kamailio
Description: SIP Server for large VoIP and real-time communication platforms
Upstream URL: https://www.kamailio.org
Keywords: kamailio sip voip
Licenses: GPL-2.0-or-later
Submitter: None
Maintainer: nikost74
Last Packager: nikost74
Votes: 11
Popularity: 0.000000
First Submitted: 2010-12-16 14:21 (UTC)
Last Updated: 2024-09-04 19:38 (UTC)

Latest Comments

1 2 Next › Last »

pronet commented on 2020-06-18 01:12 (UTC) (edited on 2020-08-28 17:35 (UTC) by pronet)

Updated PKGBUILD for version 5.4.0 that will compile with 5.X kernels and added more modules.

# Maintainer: Xavier Devlamynck <magicrhesus@ouranos.be>

pkgname=kamailio
pkgver=5.4.0
pkgrel=0
pkgdesc="Rock solid SIP server"
url="http://www.kamailio.org/"
license=('GPL2')
arch=('i686' 'x86_64')
depends=()
makedepends=('flex' 'bison' 'docbook2x' 'pcre' 'python2' 'python' 'openssl' 'db' 'libxml2' 'hiredis' 'libevent'
             'dnssec-tools' 'expat' 'libunistring' 'libev' 'jansson' 'geoip' 'libmaxminddb' 'curl' 'unixodbc'
             'json-c' 'librabbitmq-c' 'libldap' 'lua' 'libmemcached' 'mongo-c-driver' 'snappy' 'mono'
             'mariadb-clients' 'perl' 'erlang' 'libphonenumber' 'postgresql' 'sqlite' 'net-snmp' 'lksctp-tools'
             'ruby' 'freeradius-client')
optdepends=('mariadb: mysql support'
            'expat: xmpp/jabber support'
        'libxml2: cpl and presence modules support'
        'postgresql: postgresql backend')
source=(http://www.kamailio.org/pub/kamailio/$pkgver/src/kamailio-${pkgver}_src.tar.gz
    $pkgname.service)
provides=()
conflicts=()
replaces=()
backup=('etc/kamailio/tls.cfg' 'etc/kamailio/kamctlrc' 'etc/kamailio/kamailio.cfg' 'etc/kamailio/kamailio-basic.cfg' 'etc/kamailio/kamailio-advanced.cfg')


# See Makefile.groups for the list of recommended modules for
# each package.  What follows is a simplified version of Makefile.groups
#
# - basic used modules, with no extra dependency (widespread usage)
_mod_list_basic="avp async auth benchmark blst cfg_rpc cfgt cfgutils corex counters \
        ctl debugger diversion enum exec gzcompress ipops kex mangler \
        maxfwd mediaproxy mqueue \
        nat_traversal nathelper path pike pv ratelimit rr rtimer \
        rtpproxy sanity sdpops siputils sl smsops statsc statistics \
        textops textopsx tm tmx topoh topos xlog rtpengine stun sipt"

# - extra used modules, with no extra dependency
_mod_list_extras="auth_diameter call_control cnxcc dmq domainpolicy log_custom \
        msrp pdb qos sca seas sms sst timer tmrec tsilo uac_redirect \
        xhttp xhttp_rpc xprint nosip dmq_usrloc statsd rtjson tcpops \
        auth_xkeys"

# - common modules depending on database
_mod_list_db="acc alias_db auth_db avpops cfg_db db_berkeley db_flatstore \
        db_cluster dialog dispatcher domain drouting group \
        htable imc matrix mohqueue msilo mtree p_usrloc pdt permissions \
        pipelimit prefix_route registrar sipcapture siptrace speeddial \
        sqlops uac uri_db userblacklist usrloc"

# - common modules depending on database, using UID db schema
_mod_list_dbuid="db2_ops uid_auth_db uid_avp_db uid_domain uid_gflags \
        uid_uri_db"

# - modules for devel purposes
_mod_list_devel="malloc_test print print_lib"

# - modules depending on pcre3 library
_mod_list_pcre="dialplan lcr regex"

# - modules depending on radius client library
_mod_list_radius="acc_radius auth_radius misc_radius peering"

# - modules depending on ldap client library
_mod_list_ldap="db2_ldap h350 ldap"

# - modules depending on mysql client library
_mod_list_mysql="db_mysql"

# - modules depending on postgres client library
_mod_list_postgres="db_postgres"

# - modules depending on unixodbc library
_mod_list_unixodbc="db_unixodbc"

# - modules depending on mysql cassandra library
_mod_list_cassandra="db_cassandra ndb_cassandra"

# - modules depending on xml2 library
_mod_list_cpl="cplc"

# - modules depending on xml2 library
_mod_list_xml="xhttp_pi xmlrpc xmlops"

# - modules depending on net-snmp library
_mod_list_snmpstats="snmpstats"

# - modules depending on expat library
_mod_list_xmpp="xmpp"

# - modules depending on confuse library
_mod_list_carrierroute="carrierroute"

# - modules depending on bdb (db4) library
_mod_list_berkeley="db_berkeley"

# - modules depending on curl library
_mod_list_utils="utils http_client"

# - async http_async_client
_mod_list_http_async="http_async_client"

# - modules depending on purple library
_mod_list_purple="purple"

# - modules depending on memcache library
_mod_list_memcached="memcached"

# - modules depending on openssl library
_mod_list_tls="auth_identity crypto tls"

# - modules depending on openssl library
_mod_list_outbound="outbound"

# - modules depending on unistring library
_mod_list_websocket="websocket"

# - modules depending on libval-threads libcrypto libsres libpthread
_mod_list_dnssec="dnssec"

# - modules depending on libsctp
_mod_list_sctp="sctp"

# - modules depending on openssl library
_mod_list_authephemeral="auth_ephemeral"

# - modules related to SIMPLE presence extensions
_mod_list_presence="presence presence_conference presence_dialoginfo \
            presence_mwi presence_profile presence_reginfo \
            presence_xml \
            pua pua_bla pua_dialoginfo pua_reginfo \
            pua_rpc pua_usrloc pua_xmpp \
            rls xcap_client xcap_server"

# - modules depending on lua library
_mod_list_lua="app_lua"

# - modules depending on perl library
_mod_list_perl="app_perl db_perlvdb"

# - modules depending on python library
_mod_list_python="app_python"

# - modules depending on rabbitmq
_mod_list_rabbitmq="rabbitmq"

# - modules depending on geoip2 library
_mod_list_geoip2="geoip2"

# - modules depending on sqlite library
_mod_list_sqlite="db_sqlite"

# - modules depending on oracle library
_mod_list_oracle="db_oracle"

# - modules depending on json library
_mod_list_json="json jsonrpcc jsonrpcs"

# - modules depending on redis library
_mod_list_redis="ndb_redis topos_redis"

# - modules depending on mono library
_mod_list_mono="app_mono"

# - modules related to IMS extensions
_mod_list_ims="cdp cdp_avp ims_dialog ims_diameter_server ims_auth ims_isc ims_icscf ims_qos \
        ims_registrar_pcscf ims_registrar_scscf ims_usrloc_pcscf \
        ims_usrloc_scscf ims_charging"

# - modules depending on osp toolkit library
_mod_list_osp="osp"

# - modules depending on java library
_mod_list_java="app_java"

# - modules depending on iptables library
_mod_list_iptrtpproxy="iptrtpproxy"

# - modules depending on gzip library
_mod_list_gzcompress="gzcompress"

# - modules depending on uuid library
_mod_list_uuid="uuid"

# - modules depending on ev library
_mod_list_ev="evapi"

# - modules depending on kazoo/rabbitmq
_mod_list_kazoo="kazoo"

# - modules depending on mongodb
_mod_list_mongodb="db_mongodb ndb_mongodb"

# - modules depending on jansson library
_mod_list_jansson="jansson janssonrpcc"

# - modules depending on libm
_mod_list_jsdt="app_jsdt"

# - modules depending on sqlang
_mod_list_sqlang="app_sqlang"

# - modules depending on rabbitmq
_mod_list_rabbitmq="rabbitmq"

# - modules depending on sipdump
_mod_list_sipdump="sipdump"

# Standard modules in main pkg
_module_group_kstandard="$_mod_list_basic $_mod_list_dbuid $_mod_list_ims $_mod_list_pcre"

# END Makefile.groups #############################################################

_modules="$_module_group_kstandard $_mod_list_websocket $_mod_list_outbound $_mod_list_tls $_mod_list_mysql $_mod_list_ims $_mod_list_json $_mod_list_presence $_mod_list_utils"

prepare() {
    cd "$srcdir/$pkgname-$pkgver"
    sed -i 's/bin_dir = sbin\//bin_dir = bin\//g' src/Makefile.defs
}

build() {
    cd "$srcdir/$pkgname-$pkgver"

    make FLAVOUR=kamailio STUN=1 \
        PREFIX=/usr \
        CC_EXTRA_OPTS="$CFLAGS -fcommon -D_GNU_SOURCE" \
        cfg_target=/etc/kamailio/ \
        run_prefix="" \
        include_modules="$_modules" \
        LIBDIR=lib \
        DESTDIR="$pkgdir" \
        cfg_prefix="$pkgdir" \
        config

    make EMBEDDED_UTF8_DECODE=1 STUN=1 FREERADIUS=1 all || return 1
}

package() {
    cd "$srcdir/$pkgname-$pkgver"
    make FREERADIUS=1 -j1 install || return 1
    install -Dm0644 "${srcdir}/$pkgname.service" "${pkgdir}/usr/lib/systemd/system/$pkgname.service"
}

sha256sums=('SKIP'
            '0ccad93274866b9116fe1e029368b92d4bebd7806a3d8f7978a20e44cf0f6451')

steinbuch commented on 2019-10-10 16:51 (UTC)

Installation fails due to truncated kamcmd.o:

LD (gcc) [U kamcmd] kamcmd /usr/bin/ld: kamcmd.o: file not recognized: file truncated collect2: error: ld returned 1 exit status make[3]: *** [../../src//Makefile.rules:191: kamcmd] Error 1 ERROR: make --no-print-directory -C ../../../utils/kamcmd install-if-newer failed

Miegl commented on 2019-03-17 20:54 (UTC)

jdoe: should work now.

jdoe commented on 2019-03-17 18:29 (UTC)

The service file seems to be broken. On line 9, "EnvironmentFile" is set to "/etc/kamailio" which is a directory rather than a file. On line 14, "RuntimeDirectoryMode=0750" and "Restart=on-failure" should be on separate lines.

robertfoster commented on 2018-07-02 14:07 (UTC) (edited on 2018-07-02 14:59 (UTC) by robertfoster)

I leave here an updated PKGBUILD:

# Maintainer: Xavier Devlamynck <magicrhesus@ouranos.be>

pkgname=kamailio
pkgver=5.1.4
pkgrel=1
pkgdesc="Rock solid SIP server"
url="http://www.kamailio.org/"
license=('GPL2')
arch=('i686' 'x86_64')
depends=()
makedepends=('flex' 'bison' 'docbook2x' 'mariadb' 'postgresql' 'libxml2'
             'freeradius-client' 'lua51' 'mono' 'hiredis' 'libpurple' 'net-snmp'
         'libunistring' 'python2')
optdepends=('mariadb: mysql support'
            'expat: xmpp/jabber support'
        'libxml2: cpl and presence modules support'
        'postgresql: postgresql backend')
source=(http://www.kamailio.org/pub/kamailio/$pkgver/src/kamailio-${pkgver}_src.tar.gz
    $pkgname.service)
provides=()
conflicts=()
replaces=()
backup=('etc/kamailio/kamctlrc' 'etc/kamailio/kamailio.cfg' 'etc/kamailio/kamailio-basic.cfg' 'etc/kamailio/kamailio-advanced.cfg')


# See Makefile.groups for the list of recommended modules for
# each package.  What follows is a simplified version of Makefile.groups
#
# - basic used modules, with no extra dependency (widespread usage)
_mod_list_basic="avp async auth benchmark blst cfg_rpc cfgt cfgutils corex counters \
        ctl debugger diversion enum exec gzcompress ipops kex mangler \
        maxfwd mediaproxy mqueue \
        nat_traversal nathelper path pike pv ratelimit rr rtimer \
        rtpproxy sanity sdpops siputils sl smsops statsc statistics \
        textops textopsx tm tmx topoh topos xlog rtpengine stun sipt"

# - extra used modules, with no extra dependency
_mod_list_extras="auth_diameter call_control cnxcc dmq domainpolicy log_custom \
        msrp pdb qos sca seas sms sst timer tmrec tsilo uac_redirect \
        xhttp xhttp_rpc xprint nosip dmq_usrloc statsd rtjson tcpops \
        auth_xkeys"

# - common modules depending on database
_mod_list_db="acc alias_db auth_db avpops cfg_db db_berkeley db_flatstore \
        db_cluster dialog dispatcher domain drouting group \
        htable imc matrix mohqueue msilo mtree p_usrloc pdt permissions \
        pipelimit prefix_route registrar sipcapture siptrace speeddial \
        sqlops uac uri_db userblacklist usrloc"

# - common modules depending on database, using UID db schema
_mod_list_dbuid="db2_ops uid_auth_db uid_avp_db uid_domain uid_gflags \
        uid_uri_db"

# - modules for devel purposes
_mod_list_devel="malloc_test print print_lib"

# - modules depending on pcre3 library
_mod_list_pcre="dialplan lcr regex"

# - modules depending on radius client library
_mod_list_radius="acc_radius auth_radius misc_radius peering"

# - modules depending on ldap client library
_mod_list_ldap="db2_ldap h350 ldap"

# - modules depending on mysql client library
_mod_list_mysql="db_mysql"

# - modules depending on postgres client library
_mod_list_postgres="db_postgres"

# - modules depending on unixodbc library
_mod_list_unixodbc="db_unixodbc"

# - modules depending on mysql cassandra library
_mod_list_cassandra="db_cassandra ndb_cassandra"

# - modules depending on xml2 library
_mod_list_cpl="cplc"

# - modules depending on xml2 library
_mod_list_xml="xhttp_pi xmlrpc xmlops"

# - modules depending on net-snmp library
_mod_list_snmpstats="snmpstats"

# - modules depending on expat library
_mod_list_xmpp="xmpp"

# - modules depending on confuse library
_mod_list_carrierroute="carrierroute"

# - modules depending on bdb (db4) library
_mod_list_berkeley="db_berkeley"

# - modules depending on curl library
_mod_list_utils="utils http_client"

# - async http_async_client
_mod_list_http_async="http_async_client"

# - modules depending on purple library
_mod_list_purple="purple"

# - modules depending on memcache library
_mod_list_memcached="memcached"

# - modules depending on openssl library
_mod_list_tls="auth_identity crypto tls"

# - modules depending on openssl library
_mod_list_outbound="outbound"

# - modules depending on unistring library
_mod_list_websocket="websocket"

# - modules depending on libval-threads libcrypto libsres libpthread
_mod_list_dnssec="dnssec"

# - modules depending on libsctp
_mod_list_sctp="sctp"

# - modules depending on openssl library
_mod_list_authephemeral="auth_ephemeral"

# - modules related to SIMPLE presence extensions
_mod_list_presence="presence presence_conference presence_dialoginfo \
            presence_mwi presence_profile presence_reginfo \
            presence_xml \
            pua pua_bla pua_dialoginfo pua_reginfo \
            pua_rpc pua_usrloc pua_xmpp \
            rls xcap_client xcap_server"

# - modules depending on lua library
_mod_list_lua="app_lua"

# - modules depending on perl library
_mod_list_perl="app_perl db_perlvdb"

# - modules depending on python library
_mod_list_python="app_python"

# - modules depending on rabbitmq
_mod_list_rabbitmq="rabbitmq"

# - modules depending on geoip2 library
_mod_list_geoip2="geoip2"

# - modules depending on sqlite library
_mod_list_sqlite="db_sqlite"

# - modules depending on oracle library
_mod_list_oracle="db_oracle"

# - modules depending on json library
_mod_list_json="json jsonrpcc jsonrpcs"

# - modules depending on redis library
_mod_list_redis="ndb_redis topos_redis"

# - modules depending on mono library
_mod_list_mono="app_mono"

# - modules related to IMS extensions
_mod_list_ims="cdp cdp_avp ims_dialog ims_diameter_server ims_auth ims_isc ims_icscf ims_qos \
        ims_registrar_pcscf ims_registrar_scscf ims_usrloc_pcscf \
        ims_usrloc_scscf ims_charging"

# - modules depending on osp toolkit library
_mod_list_osp="osp"

# - modules depending on java library
_mod_list_java="app_java"

# - modules depending on iptables library
_mod_list_iptrtpproxy="iptrtpproxy"

# - modules depending on gzip library
_mod_list_gzcompress="gzcompress"

# - modules depending on uuid library
_mod_list_uuid="uuid"

# - modules depending on ev library
_mod_list_ev="evapi"

# - modules depending on kazoo/rabbitmq
_mod_list_kazoo="kazoo"

# - modules depending on mongodb
_mod_list_mongodb="db_mongodb ndb_mongodb"

# - modules depending on jansson library
_mod_list_jansson="jansson janssonrpcc"

# - modules depending on libm
_mod_list_jsdt="app_jsdt"

# - modules depending on sqlang
_mod_list_sqlang="app_sqlang"

# - modules depending on rabbitmq
_mod_list_rabbitmq="rabbitmq"

# - modules depending on sipdump
_mod_list_sipdump="sipdump"

# Standard modules in main pkg
_module_group_kstandard="$_mod_list_basic $_mod_list_dbuid $_mod_list_ims $_mod_list_pcre"

# END Makefile.groups #############################################################

_modules="$_module_group_kstandard"

prepare() {
    cd "$srcdir/$pkgname-$pkgver"
    sed -i 's/bin_dir = sbin\//bin_dir = bin\//g' src/Makefile.defs
}

build() {
    cd "$srcdir/$pkgname-$pkgver"

    make FLAVOUR=kamailio STUN=1 \
        PREFIX=/usr \
        CC_EXTRA_OPTS="$CFLAGS -D_GNU_SOURCE" \
        cfg_target=/etc/kamailio/ \
        run_prefix="" \
        include_modules="$_modules" \
        LIBDIR=lib \
        DESTDIR="$pkgdir" \
        cfg_prefix="$pkgdir" \
        config

    make EMBEDDED_UTF8_DECODE=1 STUN=1 FREERADIUS=1 all || return 1
}

package() {
    cd "$srcdir/$pkgname-$pkgver"
    make FREERADIUS=1 -j1 install || return 1
    install -Dm0644 "${srcdir}/$pkgname.service" "${pkgdir}/usr/lib/systemd/system/$pkgname.service"
}

md5sums=('225ad8e7d2d99e02bfcb649079cad8cb'
         '4277a8be96f80faef1d2ae6ba7f26abd')

kamailio.service

[Unit]
Description=Kamailio - the Open Source SIP Server
Documentation=man:kamailio(8) https://www.kamailio.org/
Wants=network-online.target
After=syslog.target network-online.target

[Service]
Type=forking
EnvironmentFile=/etc/kamailio
PIDFile=/var/run/kamailio.pid
ExecStart=/usr/bin/kamailio -P /var/run/kamailio.pid $OPTIONS
ExecStopPost=/usr/bin/rm -f /var/run/kamailio.pid
Restart=on-failure

[Install]
WantedBy=multi-user.target

agnar commented on 2017-06-21 22:31 (UTC) (edited on 2017-06-21 22:39 (UTC) by agnar)

I can't build this package. It looks like a Makefile.defs file is missing. End of build output: ... rm -f cfgt.d cfgt.d cfgt.d *~ rm -f qos.d qos.d qos.d *~ make[1]: Leaving directory '/tmp/yaourt-tmp-mythtv/aur-kamailio/src/kamailio-5.0.2/src' sed: can't read Makefile.defs: No such file or directory ==> ERROR: A failure occurred in build(). Aborting... ==> ERROR: Makepkg was unable to build kamailio. ==> Restart building kamailio ? [y/N] ==> --------------------------------- ==>

hotaru commented on 2017-03-07 07:54 (UTC)

in addition to the wrong paths, the package that is built doesn't seem to contain all the necessary files for MySQL or postgres support, and there's no systemd service file.

agnar commented on 2017-02-09 18:12 (UTC)

The wrong paths are very annoying. I solved it by make some changes in PKGBUILD. In build() changed the line to: make prefix=/usr cfg_prefix=${pkgdir} LIBDIR=lib config In package() changed the line to: make DESTDIR="$pkgdir" install Maybe there are better solutions.