In case of an offer with a via-branch followed by a delete without a
via-branch (cancelled call), the call erroneously remains open after
deleting one half of the call. The reason is that un-answered branches
do not appear in the `other_tags` list and so are left out from being
checked.
Change-Id: Ib008f32ef5ee06a7ca997c900c9a3adc85b0f10d
This can presumably happen when an encoder gets re-initialised due to an
SSRC table overflow, or when a passthrough encoder (e.g. G.729) returns
no data.
Possibly fixes#915
Change-Id: Ib351054b99754f46d0a8fb2d49629ce7c48dc964
(cherry picked from commit 11e2893c0e)
The hash table cannot be used for storage any more as entries can be
removed on demand (64e56d7) but can be cached in packet->handler at the
same time.
Possibly fixes#915
Change-Id: Ic74703b1a57294bfd704b6cddcd666d6063f510a
(cherry picked from commit d3992101bd)
fix cleanup being skipped on redis slaves
fixes an SDES related Redis mem leak
adds a hash for the ports free list to avoid duplicate entries
fixes#898
Change-Id: I34aad67290ff5ef8824142682aac03cb600d0ecb
(cherry picked from commit c70b3f6369)
A client can potentially change the codec used for a RTP payload type
number, so we must confirm that an existing handler matches the codec
from the SDP.
fixes#903
Change-Id: Id9ae379425359f776883d6ace7fdb44ad651b37e
(cherry picked from commit 64e56d774b)
If B accepts a crypto suite that was not listed as the first, in order
to support SRTP passthrough, we correctly answer to A with only that one
crypto suite. But we must also remove all other crypto suites from our
list of supported crypto suites internally, because we use the first one
to init our crypto contexts.
fixes#829
Change-Id: Id07343d7b24648208e3a4b4e0b246949dce0385e
(cherry picked from commit 3466700149)
There's no point in starting the notification thread and another Redis
connection if there are no keyspaces to subscribe to
Change-Id: I2a9ef3b7764219b6ca08ebbe81461efd45b3e9de
(cherry picked from commit bfc9799c7e)
We need to set the redis context to NULL after freeing it, otherwise
other code will try to free it again, which will make the program
abort when exiting.
Change-Id: Id634075344351eb1c924c59739b72bbf57de3c89
(cherry picked from commit 781b275295)
Move the RTCP_MUX_OVERRIDE flag to the opposite side of the dialogue to
preserve options given during a branched call.
closes#793
Change-Id: I0bd7621ba22fbfe4f41d115ec2e5dab65283ae01
The rtpengine kernel module only cares about UDP packets, so narrow down
our iptables rule accordingly.
Change-Id: I33856efa6b39372104b05ec0dc6f34ad0b5e0cbd
(cherry picked from commit cd23c05044)
There might be a firewall script that installs and manages the
xt_RTPENGINE rules even if rtpengine isn't running at the point. Leave
the module loaded if possible and unload it only for a package removal
or upgrade.
Change-Id: I5a35e965379aebd757a45883f82bbcb5fa2412e8
(cherry picked from commit 9c6677d2fd)
Intermittent errors from the DB can cause the connection to be reset and
not re-established for the next statement to be executed, leading to
segfaults.
fixes#742
Change-Id: I1ed5b75457ab7167a70df5e04a964d37f98e60f7
Adds a new option ptime-reverse to complement setting of ptime towards
the offerer. This and ptime setting are now ignored in answers.
Change-Id: Icbc04f191cbc194b75b72a97832fcaba58feb10e
(cherry picked from commit e6b1b1e3c3)
This service should be stopped when we disable the ngcp-recording-daemon,
but ngcp-service has logic to skip services of Type oneshot.
In this case turning it into a Type=simple is fine because even though
there are no daemons/programs remaining after execution, we do set
RemainAfterExit=yes explicitly.
Change-Id: I3bde666ae1ed19ac56d38b3e011714e66615a378
(cherry picked from commit b290bb8a98)