<!-- Kamailio Pull Request Template -->
<!-- IMPORTANT: - for detailed contributing guidelines, read: https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md - pull requests must be done to master branch, unless they are backports of fixes from master branch to a stable branch - backports to stable branches must be done with 'git cherry-pick -x ...' - code is contributed under BSD for core and main components (tm, sl, auth, tls) - code is contributed GPLv2 or a compatible license for the other components - GPL code is contributed with OpenSSL licensing exception -->
#### Pre-Submission Checklist <!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply --> <!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above--> <!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list --> - [ ] Commit message has the format required by CONTRIBUTING guide - [ ] Commits are split per component (core, individual modules, libs, utils, ...) - [ ] Each component has a single commit (if not, squash them into one commit) - [ ] No commits to README files for modules (changes must be done to docbook files in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change - [ ] Small bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds new functionality) - [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist: <!-- Go over all points below, and after creating the PR, tick the checkboxes that apply --> - [ ] PR should be backported to stable branches - [ ] Tested changes locally - [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description <!-- Describe your changes in detail -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2207
-- Commit Summary --
* Makefile.defs: version set to 5.2.0-rc0 * pkg/kamailio/deb: version set 5.2.0~rc0 * Makefile.defs: use $(prefix) for setting share_target * evapi: convert return code for kemi functions to match the ones from cfg equivalents * ims_ipsec_pcscf: Makefile - use pkg-config to get compile flags for libmnl * pkg/kamailio/alpine: Fixed docker image build for 5.2 branch * Merge pull request #1713 from sergey-safarov/spec_update9 * pkg/kamailio/deb: wait for network to be up * pkg/kamailio/deb: also restart service if unclean exit code * pkg/kamailio/oracle: wait for network to be up * pkg/kamailio/obs: update spec to mach currently used * pkg/kamailio/obs: Fixed missing libmnl-devel and librabbitmq-devel on RHEL dists * pkg/kamailio/obs: smsops module relocated into main rpm package * db_berkeley: fix compilation warning * kazoo: fix compilation warnings * pkg/kamailio/obs: Fixed build on OpenSUSE dists * pkg/kamailio/obs: Changed rpm package group for OpenSUSE dist * cfgutils: error log message mentioning the param lock_set_size * tmx: use branch index for $T_rpl() cache invalidation * lib/srdb1: added entities to define the size for event and etag columns * kamctl: regenerated the sql creation scripts * lib/srdb1: schema - use etag size entity also for pua and xcap tables * kamctl: new update to the sql creation scripts * websocket: aligned example statements * dispatcher: search in xavp sublist for ds_update_dst() attributes * htable: init vars in ht_dmq_handle_sync() to avoid compile warnings * htable: use local variable for name in log message instead of null htable pointer * db_redis: log message if failure to get reply * tm: t_serial - safety check for searched xavps * smsops: free after error log message printing a field * siptrace: convert status code to string using static buffer function * presence: safety check for structure vars before accessing fields * Makefile.defs: version set to 5.2.0-rc1 * pkg/kamailio/deb: version set to 5.2.0~rc1 * dialog: fix typo in warn message (#1731) * lib/srdb1: schema - defined entities for sizes of aname and avalue columns * kamctl: regenerated sql creation scripts * core : add word to log get_boundary function * textops: fixed get_body_part function for non-multipart contents error * core: function to test if a msg structure is faked request * async: return error if trying to execute for faked message * topos: allow various replies for INVITE without contact * htable: safety checks for values replicated via dmq * tm: info log message if attempting to create transaction for faked request * tmx: do no suspend faked request * rtpengine: print command in log message on timeout * topos: do not add contact header in outgoing 1xx responses if not present * core: added kemi KSR.is_myself_srcip() * dispatcher: ds_select_routes() - set r-uri/d-uri even when first group has no available dst * misc/examples/kemi: Added 'msg' argument to ksr_route_relay * topoh: safety checks for couple of mandatory headers * topos: safety checks for couple of mandatory headers * topos: proper condition to detect 3xx redirect for contact updates * Makefile.defs: version set to 5.2.0-rc2 * pkg/kamailio/deb: version set to 5.2.0~rc2 * xmlrpc: added event_callback parameter * xmlrpc: docs for event_callback parameter * misc/examples: use core reply_route inside the anycast example * textops: docs - notes that msg_apply_changes() may be required for multi-part operations * modules: readme files regenerated - modules ... [skip ci] * pkg/kamailio/deb: version set 5.2.0 * ChangeLog: initial update for preparing v5.2.0 * pkg: version set to 5.2.0 for alpine and oracle linux rpm specs * INSTALL: added link to the install tutorial on the web * Makefile.defs: version set to 5.2.0 * ChangeLog: content updated for v5.2.0 * utils/kamctl: [pgsql] add missing options for pgsql_ro_query() * presence: test if event is dialog when attempting to delete old records * dispatcher: docs - make a bullet list for the possible values for flags field * dispatcher: rename internal functions to match the module pattern * dispatcher: flag 16 (1<<4) for destinations with host not having A/AAAA record * dispatcher: docs for flags value 16 * core: parse body - debug instead of error log message when mime mismatch * ims_charging : doc is fixed * dialog: safety checks for local cseq and contact vars * modules: readme files regenerated - modules ... [skip ci] * core: fixed segmentation fault when handling multipart bodies * pkg/kamailio/deb: add kamailio-ruby-modules [skip ci] * pkg/kamailio/deb: remove ruby support from wheezy and precise [skip ci] * pkg/kamailio/deb: remove ruby support for trusty [skip ci] * pkg/kamailio/obs: Fixed warning about not existen kamailio group [skip ci] * pkg/kamailio/alpine: Added app-ruby package #1761 [skip ci] * pkg/docker Updated submodule * pkg/kamailio/obs: Added ruby package #1761 [skip ci] * pkg/kamailio/deb: add kamailio-python3-modules * core: fix an error in check_via_address, reported from Mojtaba, mespio at gmail dot com * core: check for optarg before passing it to external library (coverity report) * cdp: fix three coverity errors (ressource leaks and error checks) * cdp: fix two errors from coverty scan (missing check, var initialization) * dialog: check for cseq value only when getting it for caller/request * kamdbctl: Merged patch from alpine packaging (#1786) * lib/srdb1: memset db connection structure earlier in db_bind_mod() * tm: reply_received() - simplify locking for processing sip response * rtpengine : crash is fixed and codec flags added to doc (#1742) * auth_xkeys: clone value before inserting the lump inside auth_xkeys_add() * misc/examples: kamailio-basic-kemi-python.py - use functions for method and myself checks * misc/examples: sample default config with websocket enabled * dialog: store call-id, r-uri, f-uri and t-uri with 0-ending char * misc/example/kemi: merge condition lines in kamailio-basic-kemi-python.py * app_jsdt: updated duktape js engine to v2.3.0 * misc/examples/kemi/kamailio-basic-kemi-jsdt.js: use functions to match methods and myself * misc/examples/kemi/kamailio-basic-kemi-lua.lua: fix condition on user agent * misc/examples/kemi/kamailio-basic-kemi-python.py: fix condition on user agent * misc/examples/kemi/kamailio-basic-kemi-jsdt.js: removed extra parenthesis * misc/examples/kemi/kamailio-basic-kemi-jsdt.js: match from uri myself with function * misc/examples/kemi/kamailio-basic-kemi-sqlang.js: use functions to match methods and myself * pv: {param.count} accept static string "," as delimiter * app_ruby: Makefile - fixed libs for darwin os with no pkg-config * tm: error log message about new final reply made info * app_ruby: Makefile - updated how to detect ruby version * app_ruby: implemented rpc app_ruby.reload command * app_ruby: print new script version in rpc reload info message * app_python3: fix Python 3.7 deprecation warnings * uac_redirect: docs - added section ids * app_ruby: added missing app_ruby.api_list rpc command * uac_redirect: docs - fixed missing space in sectionid * regex: init var to avoid compile warning * cplc: init var to avoid compile warning * topoh: fixed unmask route issue, if maksing fails for one of the routes * topoh: aded debug message for knowing the reason of no decoding rr * websocket: use the list with ids for ws connections to do ping-pong * websocket: fetch ws connections based on keepalive process index * websocket: destroy ws connections in dedicated timer process * websocket: docs for timer_interval and rm_delay_interval params * ndb_redis: fix compilation warnings * topos_redis: fix compilation warnings * cnxcc: fix compilation warnings * dialog: only write debug messages in case cseq or contact fields are empty * websocket: removed static from declaration of ws_rm_delay_interval * db_redis: use safe clist iteration for db_redis_free_tables() * cdp: init pointer to avoid warning on uninitialized use * rtpengine: lock only when db backend is enabled for build_rtpp_socks() * auth_db: print db table name when version check fails * core: function to detect if all processes were forked * core: added function to detect when processes were initialized * rtpengine: reworked build of rtpengine sockets to avoid serial initialization * rtpengine: use version number to track building rtpengine sockets on reload * ims_isc: free variable in case of errors * core: pt - added missing #endif due to backport conflict * modules: readme files regenerated - modules ... [skip ci] * acc_json: proper check if the mqueue name is set and the module can be loaded * topos_redis: check the branch value to avoid using uninitialized fields * tm: Add fixup for PVS in fixup_t_check_status * phonenum: fixing documentation typo (#1807) * modules: readme files regenerated - modules ... [skip ci] * dialog: docs - more info about using the flag and dlg_manage() * dialog: do not require dlg_flag parameter to be set * tsilo: add check for empty aor * dispatcher: update for module docs (#1804) * dispatcher: docs - typo and indentation for the rpc flags paragraph * presence: Makefile - link agaist libicu on macos/darwin * presence_xml: Makefile - link agaist libicu on macos/darwin * presence: do not include presence.h in other header files * presence_xml: do not include ../presence/presence.h * modules: readme files regenerated - modules ... [skip ci] * pkg: version set to 5.2.1 for alpine and rpm specs * pkg/debian: set version to 5.2.1 in deb spec files * Makefile.defs: version set to 5.2.1 * ChangeLog: content updated for v5.2.1 * siptrace: don't calculate message source socket if already set * tsilo: fixed ts_append example in the doc * modules: readme files regenerated - modules ... [skip ci] * websocket: put the ws connection after keepalive * src/Makefile: added target to install files for systemd on debian * jsonrpcs: Fix memleak with srjson_doc_t * jansson: Log column on parse error * dispatcher: Don't take modulus of hash twice * siputils: Return true if options_reply() succeeds * jansson: Fix reverse logic for JSON boolean * dispatcher: Stop searching if entry is found * dispatcher: Fix memleak in destination attributes * jsonrpcs: fix double free crash * core: fix crashes and logical errors for cmd line parsing, reported from Thuan Pham * registrar : check xavp clone result * lreproxy module
-- File Changes --
M ChangeLog (21521) M INSTALL (2) M misc/examples/kemi/kamailio-basic-kemi-jsdt.js (67) M misc/examples/kemi/kamailio-basic-kemi-lua.lua (4) M misc/examples/kemi/kamailio-basic-kemi-python.py (52) M misc/examples/kemi/kamailio-basic-kemi-sqlang.sq (65) M misc/examples/mixed/kamailio-minimal-anycast.cfg (18) A misc/examples/webrtc/kamailio-default-websocket.cfg (1019) M pkg/docker (2) D pkg/kamailio/alpine/0001-kamdbctl.base.patch (57) M pkg/kamailio/alpine/APKBUILD (22) M pkg/kamailio/deb/bionic/changelog (30) M pkg/kamailio/deb/bionic/control (38) M pkg/kamailio/deb/bionic/kamailio.service (5) M pkg/kamailio/deb/bionic/rules (4) M pkg/kamailio/deb/buster/changelog (30) M pkg/kamailio/deb/buster/control (38) M pkg/kamailio/deb/buster/kamailio.service (5) M pkg/kamailio/deb/buster/rules (4) M pkg/kamailio/deb/debian/backports/precise (12) M pkg/kamailio/deb/debian/backports/trusty (6) M pkg/kamailio/deb/debian/backports/wheezy (12) M pkg/kamailio/deb/debian/changelog (30) M pkg/kamailio/deb/debian/control (48) M pkg/kamailio/deb/debian/kamailio.service (5) M pkg/kamailio/deb/debian/rules (4) M pkg/kamailio/deb/jessie/changelog (30) M pkg/kamailio/deb/jessie/control (38) M pkg/kamailio/deb/jessie/kamailio.service (5) M pkg/kamailio/deb/jessie/rules (4) M pkg/kamailio/deb/precise/changelog (30) M pkg/kamailio/deb/precise/rules (2) M pkg/kamailio/deb/sid/changelog (30) M pkg/kamailio/deb/sid/control (38) M pkg/kamailio/deb/sid/kamailio.service (5) M pkg/kamailio/deb/sid/rules (4) M pkg/kamailio/deb/stretch/changelog (30) M pkg/kamailio/deb/stretch/control (38) M pkg/kamailio/deb/stretch/kamailio.service (5) M pkg/kamailio/deb/stretch/rules (4) M pkg/kamailio/deb/trusty/changelog (30) M pkg/kamailio/deb/trusty/control (20) M pkg/kamailio/deb/trusty/rules (4) M pkg/kamailio/deb/wheezy/changelog (30) M pkg/kamailio/deb/wheezy/rules (2) M pkg/kamailio/deb/xenial/changelog (30) M pkg/kamailio/deb/xenial/control (38) M pkg/kamailio/deb/xenial/kamailio.service (5) M pkg/kamailio/deb/xenial/rules (4) M pkg/kamailio/obs/kamailio.service (5) M pkg/kamailio/obs/kamailio.spec (258) M pkg/kamailio/obs/kamailio.tmpfiles (2) M pkg/kamailio/oracle/el6/kamailio.spec (2) M pkg/kamailio/oracle/el7/kamailio.service (3) M pkg/kamailio/oracle/el7/kamailio.spec (2) M src/Makefile (23) M src/Makefile.defs (9) M src/core/fmsg.c (5) M src/core/fmsg.h (1) M src/core/kemi.c (25) M src/core/msg_translator.c (8) M src/core/parser/parse_body.c (6) M src/core/pt.c (52) M src/core/pt.h (6) M src/core/sr_module.c (10) M src/lib/srdb1/db.c (11) M src/lib/srdb1/schema/entities.xml (4) M src/lib/srdb1/schema/location_attrs.xml (4) M src/lib/srdb1/schema/pr_presentity.xml (6) M src/lib/srdb1/schema/pr_pua.xml (2) M src/lib/srdb1/schema/pr_xcap.xml (2) M src/main.c (85) M src/modules/acc_json/acc_json_mod.c (3) M src/modules/app_jsdt/duk_config.h (132) M src/modules/app_jsdt/duktape.c (5989) M src/modules/app_jsdt/duktape.h (118) M src/modules/app_python3/app_python3_mod.c (8) M src/modules/app_python3/python_support.c (16) M src/modules/app_python3/python_support.h (5) M src/modules/app_ruby/Makefile (20) M src/modules/app_ruby/app_ruby_api.c (105) M src/modules/async/async_mod.c (16) M src/modules/auth_db/auth_db_mod.c (3) M src/modules/auth_xkeys/auth_xkeys.c (11) M src/modules/cdp/diameter_msg.c (2) M src/modules/cdp/receiver.c (27) M src/modules/cfgutils/cfgutils.c (4) M src/modules/cnxcc/cnxcc_redis.c (6) M src/modules/cplc/cpl_run.c (2) M src/modules/db_berkeley/db_berkeley.c (2) M src/modules/db_redis/redis_connection.c (4) M src/modules/db_redis/redis_table.c (6) M src/modules/dialog/README (11) M src/modules/dialog/dialog.c (4) M src/modules/dialog/dlg_db_handler.c (4) M src/modules/dialog/dlg_handlers.c (18) M src/modules/dialog/dlg_hash.c (23) M src/modules/dialog/doc/dialog_admin.xml (13) M src/modules/dispatcher/README (45) M src/modules/dispatcher/dispatch.c (44) M src/modules/dispatcher/dispatch.h (41) M src/modules/dispatcher/dispatcher.c (13) M src/modules/dispatcher/doc/dispatcher_admin.xml (54) M src/modules/evapi/evapi_mod.c (25) M src/modules/htable/ht_dmq.c (38) M src/modules/ims_charging/README (15) M src/modules/ims_charging/doc/ims_charging_admin.xml (7) M src/modules/ims_ipsec_pcscf/Makefile (15) M src/modules/ims_isc/checker.c (5) M src/modules/jansson/jansson_funcs.c (6) M src/modules/jansson/jansson_utils.c (2) M src/modules/jsonrpcs/jsonrpcs_mod.c (1) M src/modules/kazoo/kz_amqp.c (18) A src/modules/lreproxy/README.md (1) A src/modules/lreproxy/lreproxy.c (1976) A src/modules/lreproxy/lreproxy.h (120) A src/modules/lreproxy/lreproxy_funcs.c (460) A src/modules/lreproxy/lreproxy_funcs.h (41) A src/modules/lreproxy/lreproxy_hash.c (521) A src/modules/lreproxy/lreproxy_hash.h (70) M src/modules/ndb_redis/redis_client.c (6) M src/modules/phonenum/README (8) M src/modules/phonenum/doc/phonenum_admin.xml (2) M src/modules/presence/Makefile (11) M src/modules/presence/hash.h (1) M src/modules/presence/presence.c (21) M src/modules/presence/presence.h (2) M src/modules/presence/presence_dmq.c (19) M src/modules/presence/presence_dmq.h (1) M src/modules/presence/presentity.c (19) M src/modules/presence/presentity.h (1) M src/modules/presence/subscribe.h (1) M src/modules/presence_xml/Makefile (11) M src/modules/presence_xml/presence_xml.c (13) M src/modules/presence_xml/presence_xml.h (1) M src/modules/pv/pv_trans.c (45) M src/modules/regex/regex_mod.c (2) M src/modules/registrar/lookup.c (31) M src/modules/rtpengine/README (29) M src/modules/rtpengine/doc/rtpengine_admin.xml (36) M src/modules/rtpengine/rtpengine.c (121) M src/modules/siptrace/siptrace.c (32) M src/modules/siputils/options.c (4) M src/modules/smsops/smsops_impl.c (2) M src/modules/textops/README (14) M src/modules/textops/doc/textops_admin.xml (17) M src/modules/textops/textops.c (19) M src/modules/tm/t_lookup.c (5) M src/modules/tm/t_reply.c (56) M src/modules/tm/t_serial.c (12) M src/modules/tm/tm.c (3) M src/modules/tmx/t_var.c (7) M src/modules/tmx/tmx_mod.c (6) M src/modules/topoh/th_msg.c (9) M src/modules/topoh/topoh_mod.c (6) M src/modules/topos/topos_mod.c (6) M src/modules/topos/tps_msg.c (14) M src/modules/topos/tps_storage.c (12) M src/modules/topos_redis/topos_redis_storage.c (11) M src/modules/tsilo/README (2) M src/modules/tsilo/doc/tsilo_admin.xml (2) M src/modules/tsilo/ts_store.c (5) M src/modules/uac_redirect/doc/uac_redirect_admin.xml (22) M src/modules/websocket/README (52) M src/modules/websocket/doc/websocket_admin.xml (50) M src/modules/websocket/websocket.c (40) M src/modules/websocket/ws_conn.c (232) M src/modules/websocket/ws_conn.h (16) M src/modules/websocket/ws_frame.c (32) M src/modules/xmlrpc/README (44) M src/modules/xmlrpc/doc/xmlrpc_admin.xml (41) M src/modules/xmlrpc/xmlrpc.c (56) M utils/kamctl/db_sqlite/presence-create.sql (6) M utils/kamctl/db_sqlite/usrloc-create.sql (2) M utils/kamctl/kamctl.pgsql (4) M utils/kamctl/kamdbctl.base (30) M utils/kamctl/mysql/presence-create.sql (6) M utils/kamctl/mysql/usrloc-create.sql (2) M utils/kamctl/oracle/presence-create.sql (6) M utils/kamctl/oracle/usrloc-create.sql (2) M utils/kamctl/postgres/presence-create.sql (6) M utils/kamctl/postgres/usrloc-create.sql (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2207.patch https://github.com/kamailio/kamailio/pull/2207.diff