Hello Alex,
while analyzing the code of dialog module to allow setting the timeout
even before the dialog is answered, I noticed that
dlg_set_timeout_by_profile() is using update_dlg_timeout(), the later
doing a dlg_release() inside it.
However, dlg_set_timeout_by_profile() does another dlg_release() after
update_dlg_timeout(), which seems wrong at first sight, resulting in two
dereferences of the counter.
Looking at git blame, dlg_release in both dlg_set_timeout_by_profile()
and update_dlg_timeout() were added (or least last changed) by you.
I would move the dlg_release() out of update_dlg_timeout(), because it
is rather not intuitive to expect being done there, instead of where the
dlg was referenced.
Can you analyze and see if that is safe for your
dlg_set_timeout_by_profile(), or another dlg_release() should be done
inside it (as it gets removed from update_dlg_timeout() )?
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Using trunk code, I can get DMQ to work by itself. I have three test servers that I take up and down and it seems to work.
As soon as I enable DMQ in htable, without enabling any replication of any hash table, Kamailio refuse to start. Seems to be a chicken-and-egg issue, maybe loading order? I could not find a solution.
Also, without enabling DMQ, if I use dmq_send_message() in htable:init event route Kamailio crashes.
This is all on my OS/X system with latest git code.
/O
- URL: https://github.com/kamailio/kamailio/commit/c76b6edeb0ce5a39b9346d44dfca589…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-07T11:32:44+01:00
jsonrpc-s: safety check for str value of jsonrpc and method fileds
- reported by Alex Balashov
(cherry picked from commit 29fe7a813b17af898dbe0c4e978dd05766f41aec)
- URL: https://github.com/kamailio/kamailio/commit/1db387a5f75f84f4eb7a446041cd665…
Author: Charles Chance <charles.chance(a)sipcentric.com>
Date: 2015-01-08T01:12:15+01:00
dmq: force to send replicated messages from configured server address - as reported on list by Victor Kustov
(cherry picked from commit 7b5f79f9f384bfe3c16c399184281ebe63bb7785)
- URL: https://github.com/kamailio/kamailio/commit/e09ad6120e6373f9f635ee4907603c5…
Author: Alex Hermann <alex(a)speakup.nl>
Date: 2015-01-08T01:14:57+01:00
dmq: Don't delete the original notification_peer on timeout
(cherry picked from commit e73aa4032873b3fca88bb809d6d4ce4f28c0f237)
(cherry picked from commit 69dc8ec9fce8628cdf9bf39f7a25136544ae9a29)
- URL: https://github.com/kamailio/kamailio/commit/373c643a4cf63c8ddfae23f39103e36…
Author: Alex Hermann <alex(a)speakup.nl>
Date: 2015-01-08T01:15:58+01:00
dmq: Add init_callback() to API
The init_callback is called after DMQ has synced with the notification_peer.
This callback can thus be used to send/broadcast messages as early as
possible.
(cherry picked from commit b1aadf4cf9ea8fa91465fadc24ad268398a74880)
- URL: https://github.com/kamailio/kamailio/commit/67ecb465428b4ff91b3b898f538a12d…
Author: Alex Hermann <alex(a)speakup.nl>
Date: 2015-01-08T01:16:48+01:00
dmq: Let the handler know about the sending node
Try to find a node based on the from uri of the incoming request and hand
it to the request handler.
(cherry picked from commit c2dcf4dbd884b13423159a7d94a3cb9f4e1a3e87)
- URL: https://github.com/kamailio/kamailio/commit/82a60e0c7a7e33908bae52d11fe4911…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:17:41+01:00
registrar: don't free r-uri branch attributes in lookup_branches()
- just clear the values in sip_msg_t structure so the pointers can be
reused and avoid double free
- reported by Anthony Messina
(cherry picked from commit 9a46223c077c8d058cdc633563b0d9f14af332ae)
- URL: https://github.com/kamailio/kamailio/commit/df180f1ddea079b432dd89bcdee90ce…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:18:00+01:00
tmx: proper indentation to match the module style
(cherry picked from commit 6c14b13f118dc20daec39bdde40c030c14e2d9c3)
- URL: https://github.com/kamailio/kamailio/commit/2d1032b3c8a1184357615b37da99dfd…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:21:49+01:00
siputils: fix for e164_check()
- the condition for non-digit matching was always false
(cherry picked from commit fbcfa198a2c89868fa021f6a63774425e480b27b)
- URL: https://github.com/kamailio/kamailio/commit/b172dc23f8ee9778868e44839b16326…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:24:28+01:00
dispatcher: take in consideration the value of maxload attribute
(cherry picked from commit ecd5c5846483e9069df875a181b58de7f8035604)
- URL: https://github.com/kamailio/kamailio/commit/8d3bd7c6bed2fcae9d3529ea22fad2d…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:24:38+01:00
dispatcher: proper filling of weights array when summ is less than 100
- more comments on building the array for weight based distribution
(cherry picked from commit a2b52c52e8a2503c53825b82fb66d7af11b9bc4e)
- URL: https://github.com/kamailio/kamailio/commit/3d90d4412e04e9a244459715d6ca0a9…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:24:52+01:00
dispatcher: better phrasing of comment in the code
(cherry picked from commit d035d0fe5e6f8298c7973432216ee0ba16840124)
- URL: https://github.com/kamailio/kamailio/commit/0b0b47277becda0926db0e60b6119a2…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:25:23+01:00
auth_db: fixed is_subscriber() when load_credentials is not set
- the flag parameter can be also explicit on skipping the credentials
(cherry picked from commit d948ca564b4f669905485e040e295f54bd3f36a2)
- URL: https://github.com/kamailio/kamailio/commit/53b9d2218793a91abe705670e8dbb96…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:25:40+01:00
auth_db: more details for is_subscriber()
(cherry picked from commit 7bf4c6d72774b521b4e9bbc5375c4e952a224676)
- URL: https://github.com/kamailio/kamailio/commit/d47f5722d68105cade1b940c3cf0fb7…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:26:15+01:00
tm: don't clean local vars when trying to append a new branch to an active canceled transaction
- they are not set, reported by Ovidiu Sas, FS#498
(cherry picked from commit 7a6b86576220b423c4dc5ccab7e7f22a50be27bd)
- URL: https://github.com/kamailio/kamailio/commit/b97ee8732103edc6391c2625ea38c44…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:26:33+01:00
nat_traversal: use local variable for port and proto on keepalive resolve
- safe execution for those resolving functions expecting PROTO_NONE
- reported by Jason Penton, FS#491
(cherry picked from commit 0bbcbe8328d558a9bf3cb151ab53be93b09c2669)
- URL: https://github.com/kamailio/kamailio/commit/813b25663adbaae1c4f5ea2731c1fe1…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:26:50+01:00
core: safety checks on proto variable for dsn resolving
- avoid crashes if functions used inadequately with a null pointer
(cherry picked from commit aff1dcd3dc63c0fe124fc138d553da0723c615a8)
- URL: https://github.com/kamailio/kamailio/commit/0702109631ac1cd56a5ce575c1674dc…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:27:04+01:00
siptrace: use the method from cseq header for tm replies
- the hook in transaction structure is invalid for cancel replies,
because the transaction structure is built for invite
- reported by Klaus Darilion, FS#489
(cherry picked from commit 88173da2b684a3a3f86ee01ac5de401f492ff240)
- URL: https://github.com/kamailio/kamailio/commit/8dfcf311562861dcf36c19be80ad159…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:27:16+01:00
tm: downgraded err to warn when sending out for a branch fails
- can happen if tcp connection is not active and no connect is set, FS#68
(cherry picked from commit c10c13b2582fd667d24e691219939e224cffaf30)
- URL: https://github.com/kamailio/kamailio/commit/c7ed2f48858f45925e6076715a640bb…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:27:30+01:00
core: use corelog level for debug messages when sending out fails
- allow better control of what is printed, FS#68
(cherry picked from commit 40971d1ed829bc8e18a684cd4431649acd47999e)
- URL: https://github.com/kamailio/kamailio/commit/a8ac25dc14e4bfb744159148bb7edcd…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:27:57+01:00
db_mysql: fixing include in Makefile for many paths
- sed matching should break at whitespace, to fix the case when
mysql_config returns multiple include paths
- reported by FS#503
(cherry picked from commit 487d4160b99a1a5ea48751d2f7404cb08e1f4546)
- URL: https://github.com/kamailio/kamailio/commit/93bb006ef1dcaadaf077b40920afd4f…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:28:18+01:00
core: don't do setuid() if started by same user as -u
- closing FS#473
(cherry picked from commit 241ac2813d30792c713dd6e585bae3c1d6e76f47)
- URL: https://github.com/kamailio/kamailio/commit/a0f88f59c6687b8a59ec90578b01aa3…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:28:50+01:00
tls: options to set TLS versions lower limit
- example: if method is set to TLSv1.1+, then the connection must be
TLSv1.1 or newer
- closes FS#502
(cherry picked from commit 711833b82d17a8875ffa68a3314554a59cefb0f5)
- URL: https://github.com/kamailio/kamailio/commit/e8566cd87577bee028d754db88b2984…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:29:01+01:00
tls: more documentation about tls method values
- added notes about tls minimum versions
(cherry picked from commit 99311ce3fd37eebd4c9f37d25b043c4fae8dd621)
- URL: https://github.com/kamailio/kamailio/commit/c674193b213fa92aa4c5c6d55d8fa71…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:29:17+01:00
tls: refreshed the README
(cherry picked from commit 5573fded91a0dc330003ba064e524407d92b2a8a)
- URL: https://github.com/kamailio/kamailio/commit/6cbc44828291264e1d119e209a9977e…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:29:30+01:00
presence: more verbose debug message when failing to delete item from memory
- re-ordered comparison expression to check first lengths
(cherry picked from commit 497777e042166e441767101db05c85ad69c13722)
- URL: https://github.com/kamailio/kamailio/commit/85be1066008b6a837f6e39e0ce2cd82…
Author: Ovidiu Sas <osas(a)voipembedded.com>
Date: 2015-01-08T01:29:47+01:00
core: don't do initgroups() if started by same user as -u
- closing FS#473
(cherry picked from commit df92a532f82a25f0b1ea0cb18cb800562d7f7a97)
- URL: https://github.com/kamailio/kamailio/commit/a75107f2abb406f5d857896fea95799…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:30:42+01:00
tls: use atomic ops for config ref counter
- closes FS#380
(cherry picked from commit af408c882ed70028c7dbc84b7876be996a49235e)
- URL: https://github.com/kamailio/kamailio/commit/c3ce62ca27ddd348635f048ec9e7840…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:31:37+01:00
tm: safety check for CRLF at end of custom headers for local requests
- if hdrs value is not ending in '\n', add '\r\n'
(cherry picked from commit b60b337e04f41d4b5262cb068f1bef6f827dba27)
- URL: https://github.com/kamailio/kamailio/commit/4fb321cb441e38ca5b0fc65904cddf4…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:32:23+01:00
core: preprocessor subst rules are applied to pv names
- all name is matched and substituted before pv is looked up
- reported in FS#139
(cherry picked from commit 39ffe589035fce17145023204b1005702e02a66f)
- URL: https://github.com/kamailio/kamailio/commit/4c824c01d2a222167c81b1478de6977…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:32:36+01:00
core: cfg parser - resolve conflict between proto:host and event route name
- there was a conflict on same kind of id:id format
- event route name is expected now only after an event_route
(cherry picked from commit 5e701d6a0826611dc980db2f434bee49e0fdcf88)
- URL: https://github.com/kamailio/kamailio/commit/0a9d23605b50bef00f516255e3bc2d1…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:32:59+01:00
utils/protoshoot: fixed name and ticks
- version to 0.4
(cherry picked from commit 72a616f074f554dfb177ca8ec2b55f9ff11ad352)
- URL: https://github.com/kamailio/kamailio/commit/3d59966eb252faea756a628876336a3…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:33:15+01:00
core: tcp - handle http read on \n\n EOH and deal with HTTP Via header
- handling \n\n for http makes same code as for sip, being easier to
test injecting a request from file
- HTTP Via is not compatible with SIP Via, resulting in errors - replace
its name with Hia to be ignored. FS#237
(cherry picked from commit 54c178a9072339233085372e60e611ba889f46b3)
- URL: https://github.com/kamailio/kamailio/commit/b46dd08b927215eeb5c14373803f52d…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:33:33+01:00
core: use Sia header name instead of Via for HTTP responses sent out
(cherry picked from commit dfb34a6516e358023543f2a30664d30ed723e934)
- URL: https://github.com/kamailio/kamailio/commit/71aae0b0dda086219663af38357801e…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:34:12+01:00
seas: fixed inline functions warnings for clang
(cherry picked from commit c52e4e13ea57702aeed45a7a2059b97faf4d06f6)
- URL: https://github.com/kamailio/kamailio/commit/4b435cb33c86844e6f8339090f445ab…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:34:22+01:00
pipelimit: take in consideration number of cpus for load
- on multi core systems, the sums of stats can go over 100%, resulting
in out of range for expected load_value to be 0.0 to 1.0
- safety checks to avoid overflows
- reported by Luca M.
(cherry picked from commit d9e87383613d4d24efe3d1eb144ad6c9cc30b2b0)
- URL: https://github.com/kamailio/kamailio/commit/3fb17ae591fcdfb0b1127f6f9547fe2…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-01-08T01:34:50+01:00
ratelimite: take in consideration number of cpus for load
- on multi core systems, the sums of stats can go over 100%, resulting
in out of range for expected load_value to be 0.0 to 1.0
- safety checks to avoid overflows
(cherry picked from commit b22c63a930a3c8d4055ddeea48bb29b7fb3b2eb1)
Hi,
Since last couple of weeks we noticed that RTPEngine random stops working
for chrome to chrome (i.e. webrtc) calls. After some digging in syslog we
found that when problem occurs following error is appears in logs,
--
rtpengine[24162]: [ollkcvqi1m9k1n55lh2a port 49936] DTLS error: 1 (tlsv1
alert decrypt error)
--
For each call afterwords it gives this exact same error (with different
call-id and port of course) and media flow fails. The only workaround we
found so far is to restart the rtpengine service.
The problem is very random, sometimes it does not happens for days, and
sometimes it happens say every couple of hours or so.
Kamailio version is stable release 4.2.1-fad00a.
RTPEngine version is 3.3.0.0+0~mr3.7.0.0.
Operating System is Debian 7.x, 32bit with Linux Kernel version
3.10-0.bpo.2-686-pae.
Thank you.
Hi,
IMHO there is a bug in the active_watchers storage regarding the To and
From uri:
According to rfc3261 the from-uri and to-uri have to be identical (but
may swapped) for subsequent in-dialog-requests. [1],[2]
uri-parameters are part of uris. [3]
But uri-parameters are not stored in the active_watchers table when a
SUBSCRIBE request is processed - as a result, the uri parameters of
subsequent in-dialog NOTIFY-requests generated by presentity are
missing.
This does not only violate rfc3261, it also has severe consequences -
e.g. regarding the uac_replace_from() and uac_replace_to() functions,
which are used in a kamailio-node in front of the presentity-node.
In order to reconstruct the "old" uris of in-dialog requests, those
functions need the correct new uris - otherwise the reconstruction of
the old uris is messed up.
So I suggest to store to uri and from uri in active_watchers using one
column for the whole uri (including uri parameters). Or is there another
reason for the current situation (storing userpart and domain
separately)?
Cheers
Jasmin
[1] rfc3261 Section 12.1.1 [last sentence]
The remote URI MUST be set to the URI in the From field, and the
local URI MUST be set to the URI in the To field.
[2] rfc3261 Section 12.2.1.1
The From URI of the
request MUST be set to the local URI from the dialog state
[3] rfc3261
SIP-URI = "sip:" [ userinfo ] hostport
uri-parameters [ headers ]