sip-router
15 months agoevapi: use getaddrinfo() instead of gethostbyname()
Daniel-Constantin Mierla [Wed, 20 May 2020 11:35:32 +0000 (13:35 +0200)]
evapi: use getaddrinfo() instead of gethostbyname()

- the later is marked as deprecated
- GH #1714

15 months agoims_registrar_scscf: fix multiple contacts in 200OK
Aleksandar Yosifov [Thu, 7 May 2020 12:51:34 +0000 (15:51 +0300)]
ims_registrar_scscf: fix multiple contacts in 200OK

- Prevent sending of multiple contacts in 200OK reply
  for UE Re-Registration. Now S-CSCF replies with the
  exact contact for Re-Registration.

16 months agocore: kemi - functions to test http methods
Daniel-Constantin Mierla [Tue, 19 May 2020 12:23:01 +0000 (14:23 +0200)]
core: kemi - functions to test http methods

16 months agodispatcher: sync on load management operations
Daniel-Constantin Mierla [Tue, 19 May 2020 11:43:10 +0000 (13:43 +0200)]
dispatcher: sync on load management operations

- use locks to increment/decrement call load and get least loaded dst
- GH #2322

16 months agoMerge pull request #2326 from NGSegovia/keepalive/first_check_on_start
Daniel-Constantin Mierla [Tue, 19 May 2020 10:56:58 +0000 (12:56 +0200)]
Merge pull request #2326 from NGSegovia/keepalive/first_check_on_start

keepalive: early start of OPTIONS checking

16 months agocore: add case functions for str_hash get and set
Victor Seva [Tue, 19 May 2020 08:29:41 +0000 (10:29 +0200)]
core: add case functions for str_hash get and set

16 months agodmq: use module prefix for global variables
Daniel-Constantin Mierla [Mon, 18 May 2020 10:06:05 +0000 (12:06 +0200)]
dmq: use module prefix for global variables

- avoid potential conflicts with other globals, given that this module
is used by other modules to perform replication

16 months agocore: kemi - added KSR.is_KDQM()
Daniel-Constantin Mierla [Mon, 18 May 2020 09:28:20 +0000 (11:28 +0200)]
core: kemi - added KSR.is_KDQM()

16 months agocore: kemi - added missing is_MESSAGE()
Daniel-Constantin Mierla [Mon, 18 May 2020 06:29:09 +0000 (08:29 +0200)]
core: kemi - added missing is_MESSAGE()

- GH #2331

16 months agouid_uri_db: use file specific include guard
Daniel-Constantin Mierla [Sun, 17 May 2020 08:01:18 +0000 (10:01 +0200)]
uid_uri_db: use file specific include guard

16 months agoauth_diameter: use file specific include guard
Daniel-Constantin Mierla [Sun, 17 May 2020 08:01:00 +0000 (10:01 +0200)]
auth_diameter: use file specific include guard

16 months agoacc_diameter: use file specific include guard
Daniel-Constantin Mierla [Sun, 17 May 2020 08:00:28 +0000 (10:00 +0200)]
acc_diameter: use file specific include guard

16 months agowebsocket: use signature macro instead of offsetting inside server hdr define
Daniel-Constantin Mierla [Sat, 16 May 2020 13:21:43 +0000 (15:21 +0200)]
websocket: use signature macro instead of offsetting inside server hdr define

- pass rcv info structure by address
- remove function name from logs

16 months agocore: define macro for signature to be used for server and user-agent
Daniel-Constantin Mierla [Sat, 16 May 2020 13:20:45 +0000 (15:20 +0200)]
core: define macro for signature to be used for server and user-agent

16 months agorr: updates for outboud module api
Daniel-Constantin Mierla [Fri, 15 May 2020 14:51:50 +0000 (16:51 +0200)]
rr: updates for outboud module api

16 months agopath: updates for outboud module api
Daniel-Constantin Mierla [Fri, 15 May 2020 14:51:41 +0000 (16:51 +0200)]
path: updates for outboud module api

16 months agooutbound: pass recv info struct by address
Daniel-Constantin Mierla [Fri, 15 May 2020 14:49:17 +0000 (16:49 +0200)]
outbound: pass recv info struct by address

- fix performance inefficiency for passing large structs by value

16 months agokeepalive: early start of OPTIONS checking 2326/head
Nacho Garcia Segovia [Fri, 15 May 2020 06:21:15 +0000 (08:21 +0200)]
keepalive: early start of OPTIONS checking

- Current code takes some time to start checking (ping_interval). So, if someone sets a really high ping_interval it takes a while to get destination status. This change fires the first OPTIONS check just 3 seconds (fixed) after the destination is added. The checks would be done with the pace defined in ping_interval.

16 months agopua_reginfo: free xml doc in case of error
Daniel-Constantin Mierla [Thu, 14 May 2020 19:21:51 +0000 (21:21 +0200)]
pua_reginfo: free xml doc in case of error

- a few whitespacing fixes

16 months agoevapi: cast to void* when printing logs with pointer value
Daniel-Constantin Mierla [Thu, 14 May 2020 19:15:51 +0000 (21:15 +0200)]
evapi: cast to void* when printing logs with pointer value

16 months agotm: safety checks for branch request len
Daniel-Constantin Mierla [Thu, 14 May 2020 18:37:09 +0000 (20:37 +0200)]
tm: safety checks for branch request len

16 months agoctl: small spelling fix in comment
Henning Westerholt [Thu, 14 May 2020 16:38:31 +0000 (16:38 +0000)]
ctl: small spelling fix in comment

16 months agocore: small spelling fix in comment
Henning Westerholt [Thu, 14 May 2020 16:38:00 +0000 (16:38 +0000)]
core: small spelling fix in comment

16 months agocdp: small spelling fix in log message
Henning Westerholt [Thu, 14 May 2020 16:37:34 +0000 (16:37 +0000)]
cdp: small spelling fix in log message

16 months agojansson: use the core macros for ending string value with '\0' and to restore
Victor Seva [Thu, 14 May 2020 08:41:06 +0000 (10:41 +0200)]
jansson: use the core macros for ending string value with '\0' and to restore

fix #2327

16 months agomisc: examples/kemi - small typo in lua example
Daniel-Constantin Mierla [Wed, 13 May 2020 16:35:56 +0000 (18:35 +0200)]
misc: examples/kemi - small typo in lua example

16 months agocore: explicit cast to (void*) for %p format printing
Daniel-Constantin Mierla [Tue, 12 May 2020 17:52:52 +0000 (19:52 +0200)]
core: explicit cast to (void*) for %p format printing

- c standard required that for a defined value and in some cases the
code analysers complain, especially when reading the value via
socket/file descriptor

16 months agoimc: reserve last char in global buffer for ending zero
Daniel-Constantin Mierla [Tue, 12 May 2020 16:01:15 +0000 (18:01 +0200)]
imc: reserve last char in global buffer for ending zero

16 months agokeepalive: use ctime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 14:37:09 +0000 (16:37 +0200)]
keepalive: use ctime_r() for a safer multi-thread usage

16 months agosipdump: use localtime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 14:32:31 +0000 (16:32 +0200)]
sipdump: use localtime_r() for a safer multi-thread usage

16 months agotmrec: use localtime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 14:27:58 +0000 (16:27 +0200)]
tmrec: use localtime_r() for a safer multi-thread usage

16 months agopv: use ctime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 14:26:07 +0000 (16:26 +0200)]
pv: use ctime_r() for a safer multi-thread usage

16 months agomsilo: use [c|gm]time_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 14:19:18 +0000 (16:19 +0200)]
msilo: use [c|gm]time_r() for a safer multi-thread usage

16 months agomsrp: use ctime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 14:14:39 +0000 (16:14 +0200)]
msrp: use ctime_r() for a safer multi-thread usage

16 months agoacc: use localtime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 14:11:29 +0000 (16:11 +0200)]
acc: use localtime_r() for a safer multi-thread usage

16 months agosipdump: use localtime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 14:08:21 +0000 (16:08 +0200)]
sipdump: use localtime_r() for a safer multi-thread usage

16 months agoxhttp_rpc: use gmtime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 13:02:50 +0000 (15:02 +0200)]
xhttp_rpc: use gmtime_r() for a safer multi-thread usage

16 months agoacc: use gmtime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 12:59:13 +0000 (14:59 +0200)]
acc: use gmtime_r() for a safer multi-thread usage

16 months agodrouting: use localtime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 12:57:13 +0000 (14:57 +0200)]
drouting: use localtime_r() for a safer multi-thread usage

16 months agosmsops: use gmtime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 12:54:04 +0000 (14:54 +0200)]
smsops: use gmtime_r() for a safer multi-thread usage

16 months agodb_mysql: use gmtime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 12:51:48 +0000 (14:51 +0200)]
db_mysql: use gmtime_r() for a safer multi-thread usage

16 months agojsonrpcs: use gmtime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 12:48:58 +0000 (14:48 +0200)]
jsonrpcs: use gmtime_r() for a safer multi-thread usage

16 months agomsilo: use ctime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 12:46:15 +0000 (14:46 +0200)]
msilo: use ctime_r() for a safer multi-thread usage

> The reentrant version ctime_r() does the same, but stores
>  the string in a user-supplied buffer which should have
>  room for at least 26 bytes.

16 months agoxprint: use ctime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 12:38:43 +0000 (14:38 +0200)]
xprint: use ctime_r() for a safer multi-thread usage

> The reentrant version ctime_r() does the same, but stores
>  the string in a user-supplied buffer which should have
>  room for at least 26 bytes.

16 months agodb_redis: use localtime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 12:29:10 +0000 (14:29 +0200)]
db_redis: use localtime_r() for a safer multi-thread usage

16 months agotextops: use gmtime_r() for a safer multi-thread usage
Victor Seva [Tue, 12 May 2020 12:20:02 +0000 (14:20 +0200)]
textops: use gmtime_r() for a safer multi-thread usage

16 months agomodules: readme files regenerated - keepalive ... [skip ci]
Kamailio Dev [Tue, 12 May 2020 12:16:12 +0000 (14:16 +0200)]
modules: readme files regenerated - keepalive ... [skip ci]

16 months agoMerge pull request #2323 from voiceip/keepalive-rpc-change
Daniel-Constantin Mierla [Tue, 12 May 2020 12:05:27 +0000 (14:05 +0200)]
Merge pull request #2323 from voiceip/keepalive-rpc-change

keepalive: update rpc response to include current state

16 months agoMerge pull request #2319 from cruzccl/redis-sentinel-reconnection
Daniel-Constantin Mierla [Tue, 12 May 2020 12:04:21 +0000 (14:04 +0200)]
Merge pull request #2319 from cruzccl/redis-sentinel-reconnection

ndb_redis: add sentinel support to reconnection logic

16 months agoMerge pull request #2318 from NGSegovia/keepalive/response_callback
Daniel-Constantin Mierla [Tue, 12 May 2020 12:02:18 +0000 (14:02 +0200)]
Merge pull request #2318 from NGSegovia/keepalive/response_callback

Keepalive/response callback

16 months agomodules: readme files regenerated - rtpengine ... [skip ci]
Kamailio Dev [Tue, 12 May 2020 08:31:19 +0000 (10:31 +0200)]
modules: readme files regenerated - rtpengine ... [skip ci]

16 months agortpengine: Update docs - fix formatting, some typos
Olle E. Johansson [Tue, 12 May 2020 08:21:44 +0000 (10:21 +0200)]
rtpengine: Update docs - fix formatting, some typos

16 months agomodules: readme files regenerated - tls ... [skip ci]
Kamailio Dev [Tue, 12 May 2020 07:16:20 +0000 (09:16 +0200)]
modules: readme files regenerated - tls ... [skip ci]

16 months agoTLS: Try to always refer to OpenSSL as "OpenSSL" instead of other names
Olle E. Johansson [Tue, 12 May 2020 07:08:33 +0000 (09:08 +0200)]
TLS: Try to always refer to OpenSSL as "OpenSSL" instead of other names

16 months agoTLS: Fix TLS session id example to match source code
Olle E. Johansson [Tue, 12 May 2020 07:07:02 +0000 (09:07 +0200)]
TLS: Fix TLS session id example to match source code

16 months agoTLS: fix typo in docs
Olle E. Johansson [Tue, 12 May 2020 07:05:51 +0000 (09:05 +0200)]
TLS: fix typo in docs

16 months agocore: dprint - escaped control chars need 6 bytes
Daniel-Constantin Mierla [Mon, 11 May 2020 18:34:27 +0000 (20:34 +0200)]
core: dprint - escaped control chars need 6 bytes

- they are encoded as \uXXXX

16 months agoregex: leave enough space in buffers for parenthesis and -ending
Daniel-Constantin Mierla [Sat, 9 May 2020 11:53:19 +0000 (13:53 +0200)]
regex: leave enough space in buffers for parenthesis and -ending

16 months agocore: udp server - add sockaddr_storage to ensure enough size for sockaddr_union
Daniel-Constantin Mierla [Sat, 9 May 2020 09:00:20 +0000 (11:00 +0200)]
core: udp server - add sockaddr_storage to ensure enough size for sockaddr_union

- safety check that from addr len is matching expected size for listen
socket
- rename local variables to suggest better their purpose

16 months agocfgt: fix implicit declaration of 'strcasestr'
Victor Seva [Mon, 11 May 2020 13:06:26 +0000 (15:06 +0200)]
cfgt: fix implicit declaration of 'strcasestr'

> cfgt_int.c: In function 'cfgt_msgout':
> cfgt_int.c:863:21: warning: implicit declaration of function 'strcasestr'; did you mean 'strcasecmp'? [-Wimplicit-function-declaration]
>  863 |  if(buf->len > 7 && strcasestr(buf->s, "OPTIONS")) {
>      |                     ^~~~~~~~~~
>      |                     strcasecmp

16 months agokeepalive: update rpc response 2323/head
kinshuk.bairagi [Mon, 11 May 2020 12:15:44 +0000 (17:45 +0530)]
keepalive: update rpc response

- Adds current state as part of rpc response per destination wise

16 months agousrloc: fix define name typo for the new keepalive management
Daniel-Constantin Mierla [Fri, 8 May 2020 19:48:29 +0000 (21:48 +0200)]
usrloc: fix define name typo for the new keepalive management

- user right db value index for null checking
- ensure ending 0 doesn't overflow on aor building

16 months agopresence: check for null head when reordering returned presentity list
Daniel-Constantin Mierla [Fri, 8 May 2020 19:37:52 +0000 (21:37 +0200)]
presence: check for null head when reordering returned presentity list

16 months agocore: safer truncation of hostname using memcpy
Daniel-Constantin Mierla [Fri, 8 May 2020 19:28:01 +0000 (21:28 +0200)]
core: safer truncation of hostname using memcpy

16 months agondb_redis: add sentinel support to reconnection logic 2319/head
Carlos Cruz [Fri, 8 May 2020 15:37:30 +0000 (17:37 +0200)]
ndb_redis: add sentinel support to reconnection logic

cc8e621 added sentinel support in initial redis connection.

- this commit replicates the logic into reconnection function.

16 months agosipdump: safety check for local socket pointer
Daniel-Constantin Mierla [Fri, 8 May 2020 16:01:13 +0000 (18:01 +0200)]
sipdump: safety check for local socket pointer

- use generic address is not set

16 months agocore: events - increased SREV_CB_LIST_SIZE
Daniel-Constantin Mierla [Fri, 8 May 2020 11:54:49 +0000 (13:54 +0200)]
core: events - increased SREV_CB_LIST_SIZE

- there can be several modules registering for these core callbacks

16 months agodrouting: update to new keepalive interface, using new on response callback 2318/head
Nacho Garcia Segovia [Thu, 7 May 2020 21:50:20 +0000 (23:50 +0200)]
drouting: update to new keepalive interface, using new on response callback

- Changes required because of dependencies from module keepalive.

16 months agokeepalive: Added callback to run on each destination response.
Nacho Garcia Segovia [Thu, 7 May 2020 21:50:10 +0000 (23:50 +0200)]
keepalive: Added callback to run on each destination response.

- This functionality it's just available when using api.h bindings. For exported functions no callback will be used, so this doesn't break cfg or rpc api.
- Modified add_destination function to provide this new callback as a parameter.

16 months agomodules: readme files regenerated - siptrace ... [skip ci]
Kamailio Dev [Thu, 7 May 2020 18:46:12 +0000 (20:46 +0200)]
modules: readme files regenerated - siptrace ... [skip ci]

16 months agomodules: readme files regenerated - keepalive ... [skip ci]
Kamailio Dev [Thu, 7 May 2020 11:16:27 +0000 (13:16 +0200)]
modules: readme files regenerated - keepalive ... [skip ci]

16 months agosiptrace: small spelling fix in docs
Henning Westerholt [Thu, 7 May 2020 18:45:22 +0000 (18:45 +0000)]
siptrace: small spelling fix in docs

16 months agotm: small spelling fix in comments
Henning Westerholt [Thu, 7 May 2020 18:45:04 +0000 (18:45 +0000)]
tm: small spelling fix in comments

16 months agoims_usrloc_scscf: extend and fix log messages
Aleksandar Yosifov [Thu, 7 May 2020 09:49:20 +0000 (12:49 +0300)]
ims_usrloc_scscf: extend and fix log messages

16 months agoMerge pull request #2296 from alexyosifov/ims_registrar_scscf_event_reg
Daniel-Constantin Mierla [Thu, 7 May 2020 11:16:09 +0000 (13:16 +0200)]
Merge pull request #2296 from alexyosifov/ims_registrar_scscf_event_reg

ims_registrar_scscf: pass event type as parameter

16 months agoMerge pull request #2292 from alexyosifov/ims_registrar_scscf_lookup_fix
Daniel-Constantin Mierla [Thu, 7 May 2020 11:14:53 +0000 (13:14 +0200)]
Merge pull request #2292 from alexyosifov/ims_registrar_scscf_lookup_fix

ims_registrar_scscf: fix aor generation in lookup()

16 months agondb_redis: redis_cmd() check reply type to detect command errors
Victor Seva [Tue, 5 May 2020 12:20:07 +0000 (14:20 +0200)]
ndb_redis: redis_cmd() check reply type to detect command errors

fix #2300

16 months agoMerge pull request #2313 from NGSegovia/keepalive/custom_ping_interval
Daniel-Constantin Mierla [Thu, 7 May 2020 11:08:51 +0000 (13:08 +0200)]
Merge pull request #2313 from NGSegovia/keepalive/custom_ping_interval

keepalive: custom pinging interval per destination

16 months agokamctl: regenerated db schema for secfilter
Daniel-Constantin Mierla [Thu, 7 May 2020 06:19:36 +0000 (08:19 +0200)]
kamctl: regenerated db schema for secfilter

16 months agosrdb1: default value set to 0 for number types
Daniel-Constantin Mierla [Thu, 7 May 2020 06:19:05 +0000 (08:19 +0200)]
srdb1: default value set to 0 for number types

16 months agodrouting: update to new keepalive interface, using custom pinging interval per destin... 2313/head
Nacho Garcia Segovia [Wed, 6 May 2020 21:13:27 +0000 (23:13 +0200)]
drouting: update to new keepalive interface, using custom pinging interval per destination

- Changes required because of dependencies from module keepalive.

16 months agokeepalive: custom pinging interval per destination
Nacho Garcia Segovia [Wed, 6 May 2020 21:10:40 +0000 (23:10 +0200)]
keepalive: custom pinging interval per destination

- This functionality it's just available when using api.h bindings. For exported functions current value ka_ping_interval is used.
- Modified add_destination function to provide this new parameter.
- Now we have one timer per destination, instead of multiple, so we don't need to iterate over all destinations. Timers are cleaned when destinations are removed.

16 months agopua: use file name specific include guard
Daniel-Constantin Mierla [Wed, 6 May 2020 15:15:36 +0000 (17:15 +0200)]
pua: use file name specific include guard

16 months agohtable: use localtime_r() for a safer multi-thread usage
Daniel-Constantin Mierla [Wed, 6 May 2020 15:13:16 +0000 (17:13 +0200)]
htable: use localtime_r() for a safer multi-thread usage

16 months agopv: use localtime_r() for a safer multi-thread usage
Daniel-Constantin Mierla [Wed, 6 May 2020 15:03:45 +0000 (17:03 +0200)]
pv: use localtime_r() for a safer multi-thread usage

16 months agocfgt: don't process non-sip messages
Sipwise Development Team [Fri, 29 Nov 2019 10:23:36 +0000 (11:23 +0100)]
cfgt: don't process non-sip messages

* Skip OPTION messages internally generated

16 months agopv_headers: rework
Victor Seva [Tue, 5 May 2020 10:03:04 +0000 (12:03 +0200)]
pv_headers: rework

* don't try to detect branch every time
* reduce use of dynamic memory
* rework reply scenario, keep reply_counter in xavp
* hook to branch event too

16 months agosnmpstats: use file name specific include guard
Daniel-Constantin Mierla [Tue, 5 May 2020 06:07:14 +0000 (08:07 +0200)]
snmpstats: use file name specific include guard

16 months agoratelimit: use file name specific include guard
Daniel-Constantin Mierla [Tue, 5 May 2020 06:06:56 +0000 (08:06 +0200)]
ratelimit: use file name specific include guard

16 months agopipelimit: use file name specific include guard
Daniel-Constantin Mierla [Tue, 5 May 2020 06:06:31 +0000 (08:06 +0200)]
pipelimit: use file name specific include guard

16 months agorr: different function parameter name to be different than global variable
Daniel-Constantin Mierla [Tue, 5 May 2020 06:05:07 +0000 (08:05 +0200)]
rr: different function parameter name to be different than global variable

16 months agoapp_sqlang: use file name specific include guard
Daniel-Constantin Mierla [Tue, 5 May 2020 05:59:32 +0000 (07:59 +0200)]
app_sqlang: use file name specific include guard

16 months agortpmanage: enable hadling of PRACK requests
Daniel-Constantin Mierla [Mon, 4 May 2020 18:05:26 +0000 (20:05 +0200)]
rtpmanage: enable hadling of PRACK requests

- they can have SDP
- use more compact bitwise match for method types

16 months agousrloc: use file name specific include guard
Daniel-Constantin Mierla [Mon, 4 May 2020 17:38:07 +0000 (19:38 +0200)]
usrloc: use file name specific include guard

16 months agouid_domain: use module specific include guards
Daniel-Constantin Mierla [Mon, 4 May 2020 17:01:21 +0000 (19:01 +0200)]
uid_domain: use module specific include guards

16 months agocore: hash_func.h - use file name specific include guard
Daniel-Constantin Mierla [Mon, 4 May 2020 16:35:00 +0000 (18:35 +0200)]
core: hash_func.h - use file name specific include guard

16 months agolibs/srdb1: use thread safe localtime_r()
Daniel-Constantin Mierla [Mon, 4 May 2020 16:26:47 +0000 (18:26 +0200)]
libs/srdb1: use thread safe localtime_r()

16 months agoutils/kamctl: dbtextdb.py close previous opened file properly
Victor Seva [Mon, 4 May 2020 13:22:36 +0000 (15:22 +0200)]
utils/kamctl: dbtextdb.py close previous opened file properly

related #1747

16 months agoutils/kamctl: dbtextdb remove DeprecationWarning on test
Victor Seva [Mon, 4 May 2020 13:05:23 +0000 (15:05 +0200)]
utils/kamctl: dbtextdb remove DeprecationWarning on test

related #1747

16 months agoutils/kamctl: fix dbtestdb
Victor Seva [Mon, 4 May 2020 12:01:33 +0000 (14:01 +0200)]
utils/kamctl: fix dbtestdb

some indentantion errors introduced at https://github.com/kamailio/kamailio/commit/bc8bdcaa726f375f6deea8228a1ab0cf97c67035

related #1747