Richard Fuchs
088c58d88d
avoid calling a non existant encoder
...
fixes #925
Change-Id: I4743f0e87234fe3ddeb36b7355dcf80f651996c3
6 years ago
Richard Fuchs
7ea6389c56
compile fix for with_transcoding=no
...
closes #927
Change-Id: I0f53f31dce31990d999516173be4b483d90b4021
6 years ago
Balajee SV
220c96aea4
Merge branch 'jb_new' of https://github.com/balajeesv/rtpengine into jb_new
6 years ago
Balajee SV
b45dbbdc24
Merge branch 'jb_new' of https://github.com/balajeesv/rtpengine into jb_new
6 years ago
Balajee SV
e3a5d45433
jb_new
6 years ago
Balajee SV
c0b28c3d65
jb_new
6 years ago
Richard Fuchs
38792c00a5
TT#75352 don't attempt to send uninitialised packets
...
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
6 years ago
Richard Fuchs
7e0b2c4ac3
TT#75352 add a storage container for codec handlers
...
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
6 years ago
Stefan Mititelu
dbd27f930b
Fix crash when redis disconnects/reconnects
6 years ago
Richard Fuchs
ef0d6a3a80
TT#74301 merge jitter buffer PR #834
...
refactored
closes #834
Change-Id: I174cc6e365af54fb66d2dd78be02c601c5d5d645
6 years ago
Richard Fuchs
d6ad6a6744
TT#74301 convert timerthread_queue entries list to GTree
...
Change-Id: I7a8d54f7f7ffe2b27617c109b6d04a2cc20861e9
6 years ago
Richard Fuchs
18634c4202
TT#74301 refactor send_timer into generic timer
...
Change-Id: I81dae7ae8bb1bfe0324f9a8ce256cf9d1c377840
6 years ago
Richard Fuchs
c70b3f6369
TT#74651 fix several mem/resource leaks
...
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
6 years ago
Richard Fuchs
08cdb4cdb6
TT#74300 split intro for call-id CLI output
...
Change-Id: I4872ce173372b767b467afd4122bba809f4f0c3e
6 years ago
Richard Fuchs
c3f5282759
TT#74300 adapt CLI output to match log output for call stats
...
for #908
Change-Id: I68d0cd92f00b261d604074362cc658589d94543e
6 years ago
Richard Fuchs
5ac07564bd
TT#74300 run indent over cli_incoming_list_callid
...
Change-Id: Ife1e0f1ad8820807fd409fe422f40b4d483282eb
6 years ago
Richard Fuchs
2a2e3f3fcc
TT#74050 handle sinks with null addresses correctly
...
Change-Id: Ic2f2b840c4595e1d061cfd0cdf7465e8aeebb3ac
6 years ago
Richard Fuchs
6d22af9566
TT#73900 ignore stray RTCP packets when confirming peer addresses
...
fixes #697
Change-Id: Id2fdbd1b0b419b7fcc032c865a62a7ceed84f9f3
6 years ago
Richard Fuchs
1c72636983
TT#73401 remove useless assertion
...
Change-Id: Iba2597ad3138ef5b3b4199d2d436c3cbd7b9bd76
6 years ago
Richard Fuchs
64e56d774b
TT#73401 handle changes in RTP payload types
...
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
6 years ago
Richard Fuchs
d1e3dc0996
byte-swap homer ID as required
...
fixes #902
Change-Id: I332120c269ef63a273ca1a87f4e98cac8afb5e25
6 years ago
Guillem Jover
137c5df644
TT#71950 Fix typos
...
Change-Id: I79991a30bd8459485ea76dad541bda27daf9bfea
6 years ago
Richard Fuchs
8322a8b37f
TT#72350 add codec info to CLI output
...
closes #889
Change-Id: I7e717f58d5da8d505911f1df5bc6a99f0d9c97dc
6 years ago
Richard Fuchs
dc1daa90ab
TT#72000 confirm immediately on a perfect endpoint match
...
Change-Id: I7f0663a5b7ed6a224d385b3b1d07bc5cf13a185b
6 years ago
Richard Fuchs
61ac7e9656
TT#72000 add different endpoint detection algorithms
...
Change-Id: I791dba23450cab31bc5744a6156965afbb8a3b5c
6 years ago
Richard Fuchs
c36a44580d
fix incorrect parameter type used for homer-id=
...
reported in #807
Change-Id: I075660de6a654c42d0fec831ea9edc9bd88e7c05
6 years ago
Richard Fuchs
16afc46ca4
add test symlinks to gitignore files
...
Change-Id: Icaf60b8e1eb75f10f9b41cb5c55ad40ea89aa0ac
6 years ago
Richard Fuchs
2b87948014
fix compilation for with_transcoding=no
...
closes #884
Change-Id: I70492beed191de9ae7167990ee275c0eecc9bd80
6 years ago
Richard Fuchs
bc3d4f71b7
compile fix for glib versions < 2.30
...
closes #879
Change-Id: I01e176a1e3479350ba389b35a49f057292f6ad3d
6 years ago
Richard Fuchs
e0dd6747ea
TT#71050 fix branch deletion from via-branch
...
Untagged branches (only known by via-branch) don't appear in the `tags`
hash and don't have any `other_tags`. The logic to determine whether the
call is completely finished therefore must take these into account
separately.
We take care to remove destroyed monologues from the `viabranches` hash
to keep the count up to date, and determine whether a call is terminated
when there is no more than 1 tagged monologue left and no untagged
monologues.
Closes #875
Change-Id: I6b9618d598f4a95970cd2a452f06574423932b09
6 years ago
Richard Fuchs
8bdeb2d9bf
TT#69701 fix incorrect address used for raddr/rport
...
fixes #850
Change-Id: I36eb8c61e094cda335c14023374dab6d5f1ccfcd
6 years ago
Richard Fuchs
ab77ed50af
TT#64601 refuse overriding crypto params from SDES when DTLS is in use
...
Change-Id: I10f2fe3fdd0955fa39b5edcb31196042cdb0b731
6 years ago
Richard Fuchs
228d822a71
TT#68100 set iLBC encoder and decoder options
...
required to distinguish between 20-ms and 30-ms modes, both for encoding
and decoding
add support for the iLBC mode= format parameter and dynamic mode
switching
closes #854
Change-Id: Icb6f0ec80df86d27681c689c168b24f163a2db06
6 years ago
Richard Fuchs
6431cde151
TT#64601 fix some compiler warnings
...
stun.c: In function ‘stun_error_len’:
stun.c:388:62: warning: taking address of packed member of ‘struct header’ may result in an unaligned pointer value [-Waddress-of-packed-member]
388 | output_init(&mh, iov, &hdr, STUN_BINDING_ERROR_RESPONSE, req->transaction);
| ~~~^~~~~~~~~~~~~
stun.c: In function ‘stun_binding_success’:
stun.c:479:64: warning: taking address of packed member of ‘struct header’ may result in an unaligned pointer value [-Waddress-of-packed-member]
479 | output_init(&mh, iov, &hdr, STUN_BINDING_SUCCESS_RESPONSE, req->transaction);
| ~~~^~~~~~~~~~~~~
stun.c: In function ‘__stun_success’:
stun.c:540:42: warning: taking address of packed member of ‘struct header’ may result in an unaligned pointer value [-Waddress-of-packed-member]
540 | return ice_response(sfd, sin, attrs, req->transaction);
| ~~~^~~~~~~~~~~~~
stun.c: In function ‘__stun_error’:
stun.c:545:42: warning: taking address of packed member of ‘struct header’ may result in an unaligned pointer value [-Waddress-of-packed-member]
545 | return ice_response(sfd, sin, attrs, req->transaction);
| ~~~^~~~~~~~~~~~~
redis.c: In function ‘redis_hash_get_sdes_params.isra.0’:
redis.c:1095:39: warning: ‘_tag’ directive output may be truncated writing 4 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1095 | snprintf(tagkey, sizeof(tagkey), "%s_tag", kk);
| ^~~~
In file included from /usr/include/stdio.h:867,
from ../lib/str.h:9,
from ../lib/compat.h:16,
from ../include/redis.h:8,
from redis.c:1:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output between 5 and 36 bytes into a destination of size 32
67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Change-Id: I214458fd3f596e565b1bba9d88808b7c99f9c876
6 years ago
Richard Fuchs
4d99ba8f09
add missing header
...
closes #856
Change-Id: Icbd24a68969142179dfcf1943a7bd8d95ff5be1b
6 years ago
Richard Fuchs
3bf3982de1
TT#65052 support queuing up multiple DTMF events
...
Change-Id: I489194212a46d12761b3fdc1e212c78254b91427
6 years ago
Richard Fuchs
068bdb224f
TT#65052 support adding pause after DTMF PCM
...
Change-Id: I0332ac2488f9d2d12ce4d84c3e8b60caf35d9c6c
6 years ago
Richard Fuchs
65fb99b31d
TT#66650 fix some SSRC refcount leaks
...
closes #841
closes #838
Change-Id: If96a3295ecc504c5e94eb113063cc20da7fb541e
6 years ago
Richard Fuchs
7b60ca8e35
ignore untagged/wildcard/unknown MLs in delete with via-branch
...
fixes #840
Change-Id: Ifddf6c4c5ae58556dc9a746f657c7aebc4beee67
7 years ago
Richard Fuchs
22ea251157
don't skip address family selection when zero port is present
...
closes #837
Change-Id: Ife85f3a383981ccf3efcc95cb71c82d6e89117d9
7 years ago
Richard Fuchs
3466700149
TT#65800 fix SDES negotiation bug
...
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
7 years ago
Richard Fuchs
bfc9799c7e
TT#65100 don't start a redis notification context/thread when not in use
...
There's no point in starting the notification thread and another Redis
connection if there are no keyspaces to subscribe to
Change-Id: I2a9ef3b7764219b6ca08ebbe81461efd45b3e9de
7 years ago
Richard Fuchs
8ffc13d8aa
TT#65100 properly cleanup redis async context
...
Change-Id: I53a0e7b3acbc81f4155e4141c889b166a327a24a
7 years ago
Guillem Jover
781b275295
TT#65100 Fix double free for redis context on closure
...
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
7 years ago
Richard Fuchs
b14f3b2b1c
TT#64259 support injecting DTMF tones and events
...
Change-Id: I07aa7690146db5b41be479a67aaafbd66aec4033
7 years ago
Richard Fuchs
49f6a88086
TT#64259 add function to convert DTMF codes and chars
...
Change-Id: I0b36263033a8614fa448fd4c37dbbc62b516d40a
7 years ago
Richard Fuchs
68d909c5ea
TT#64259 add functions to skip decoded samples and return encoder PTS
...
Change-Id: I9b4f39e214bf6ecb7ae25a8b3cc726041d6552c0
7 years ago
Richard Fuchs
35740cda35
TT#64259 add function to inject DTMF events
...
Change-Id: Ie84e2e8cad11e686c6e7010ca78ecba37c5dbf7e
7 years ago
Richard Fuchs
fd16bf5104
TT#64259 make DTMF detection switch explicit
...
instead of using the output DTMF payload type implicitly
Change-Id: Ib0882534d6e46759e9e5e1feb4a919fa6a9cd437
7 years ago
Richard Fuchs
ef20e021cd
TT#64259 split up codec handlers function
...
Change-Id: I09ef471d2500a098466bd546a197c08f6fc12ff9
7 years ago
Richard Fuchs
3fb5befad4
TT#64301 log xmlrpc children to stderr
...
Change-Id: I103c062bc797c609983a995d835a84a00267aa86
7 years ago
Richard Fuchs
344b3b9e17
TT#64300 don't attempt to transcode to an unsupported codec
...
Change-Id: Ib4bad65472139f214bbb3896c1f9df29cc8e140e
7 years ago
Richard Fuchs
1653f3201b
don't free redis event base while being used
...
closes #804
Change-Id: Ic4bce6cf50441011d8eea0ba2da8861a783a33a9
7 years ago
Richard Fuchs
24d67d0662
fix mem allocation bug resulting in mem corruption during redis restore
...
fixes #811
possibly also fixes #802
Change-Id: Ic14e4916e9c340221a1c0b177707a1d1bef73347
7 years ago
Richard Fuchs
a2e0dd6b33
TT#62300 kernelise stream even if address doesn't match if possible
...
Change-Id: If0756aa5ac5ce3ddf29d3ca1cb87410d7d57c89b
7 years ago
Richard Fuchs
3b6f098d8e
TT#61850 normalize `address:port` log printing
...
«IP»:«port» vs (preferred) «IP:port»
Change-Id: I785cedfc155c107b7798762ef43f6d35bdf8bd05
7 years ago
Richard Fuchs
79fb320021
add missing header include
...
Change-Id: Ic0dba1de45fac7acc37f0a3ce86368f9625c4cc9
7 years ago
Richard Fuchs
23977237c0
TT#61050 detect to-tag changes via via-branch
...
Change-Id: I1cf0f7e516ae52a2f40a9ef84a207fe1456ea1e5
7 years ago
Razvan Crainea
8fb603e5c3
dtmf: prevent freeing json buf too early
...
When both logging and sending the DTMF event further, the json buffer
was released/freed _before_ being sent on the network, resulting in a
0-length UDP packet. On the other hand, if only UDP sending was used
(without logging), a leak was happening. This commit fixes both issues.
7 years ago
Richard Fuchs
f6f484fff6
TT#59501 add optional RTCP sink
...
If `strict source` is set, we can now also kernelise RTCP ports. This
will engage the kernel module's source address checking. If the check
fails, the packet is discarded. Otherwise it's passed to user space
as usual.
Change-Id: Ieedf39fba2263045b0f1faafa7f5826a27b5a115
7 years ago
Richard Fuchs
988d077b5c
TT#60301 fix rtcp-mux logic with branched calls
...
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
7 years ago
Richard Fuchs
fcb08df0ae
TT#59805 add dtmf-log-dest option
...
Change-Id: Id6f7ce7fa627b138e0b0ea3d410b8af53532b290
7 years ago
Richard Fuchs
166aaa0c71
fix compilation for with_transcoding=no
...
closes #789
Change-Id: Ia0a50f77ae25b8af5e387d40b2b570285836e32d
7 years ago
Richard Fuchs
f960799cdd
TT#59703 add build test for dtmf_rx_fillin()
...
closes #787
Change-Id: I26ec7ebef74dad03192019b788e7c7ae17715783
7 years ago
Richard Fuchs
7803930d21
TT#59703 generalise build test make macros
...
also add a linker stage to the test build
Change-Id: Ief9dcabbb77dd682b6e7188c296f4713c1c234a3
7 years ago
Richard Fuchs
7ad9906178
TT#59650 fix DTMF related core dump when repacketising
...
Change-Id: I77b84c4b47ee41702b076a8a2f3259dc853654f1
7 years ago
Richard Fuchs
e17544a452
rate limit log lines resulting from strict-source drops
...
Change-Id: I33d49285f031b761c618f57f9564ed69a8f15e3d
7 years ago
Richard Fuchs
910c03fa62
TT#58660 PCM to RFC DTMF transcoding
...
Change-Id: Iea6a11c0caad1f5e7dcca966101e2969d3516b6f
7 years ago
Richard Fuchs
c0781e5193
TT#58659 RFC DTMF to PCM transcoding
...
Change-Id: I32fa876940131e3a18f611e2a518f7acd1327665
7 years ago
Richard Fuchs
194c9e482f
TT#58659 add optional encoder detour
...
If multiple codecs are encoding to the same destination codec, make them
all use the same encoder context
Change-Id: Iaf9b248f9fd2016fef2b576d24d3fba557d7c1f5
7 years ago
Richard Fuchs
db507468de
TT#59100 support case insensitive codec names
...
closes #775
Change-Id: Id54309bf0920e731ad42fb09b078580090f6f82e
7 years ago
Richard Fuchs
94f3c0eff7
TT#58659 remove redundant source PT definition
...
Change-Id: I399487120a7ed2eef39b8b0e3c113d62d5937903
7 years ago
Richard Fuchs
2298de76b1
honour a=rtcp-fb in SDP even if transport is advertised as RTP/(S)AVP
...
closes #467
Change-Id: Ib8ea1d6c7b4c9277279399c4319c5efef6834372
7 years ago
Richard Fuchs
5acbf1ec87
TT#58659 always use the correct codec handler per packet
...
In case of out-of-sequence queued-up packets, the codec handler in use
was the one from the last packet delivered to the sequencer, which might
be a different one from the one needed for each packet coming out of the
sequencer.
Change-Id: Id7fb21328f7d181244a9be2ae5ff13cb6bad31b7
7 years ago
Richard Fuchs
985cd44c2b
fix possible segfault after failed port alloc w/ iptables option
...
fixes #767
Change-Id: I8034849655f1c6e4e59cf341b0ff99066223fcbc
7 years ago
Richard Fuchs
77e31f1fb1
fix race condition after media player shutdown
...
fixes #764
Change-Id: I6e729170b95c4320e5b500e9e3bb11cb2a788b40
7 years ago
Richard Fuchs
c262956b6d
Merge branch 'tcp_sockets_leak' of https://github.com/vitalikvoip/rtpengine
...
Change-Id: I2733a0fb8f48a7eacaff586889abbf812fa88bbf
7 years ago
Vitalii Aleksandrov
fe18043c0a
Insert streambuf object to listener->streams before adding it to poller
7 years ago
Richard Fuchs
573cd3ff22
TT#58050 fix refcount bug
...
Every packet_stream gets a send_timer allocated, but the teardown
routine skips the refcount decrease for fallback RTCP streams (when
rtcp-mux is in use), resulting in mem leak
fixes #753
Change-Id: Ib3a4ef8a81135918f08e28e127e4bb557b8ea05d
7 years ago
Richard Fuchs
582e645a98
fix missing recording_on flag set
...
reported in #721
Change-Id: I273b4d7c1ba167058366e4c36e5a392b7c734cf2
7 years ago
Richard Fuchs
8eada4c03a
TT#45617 document new log-mark-prefix/suffix options
...
Change-Id: I6e7772974f54d1938ed0fc9d6f926b080c415688
7 years ago
Richard Fuchs
26b725d024
TT#45617 add new options to support log markers for sensitive data
...
Change-Id: I2ffa4da4be3a05f043e7991612bbb37d8102d91a
7 years ago
Richard Fuchs
354f75490d
TT#45617 add no-log-timestamps option
...
Log lines written to stderr that are consumed by journald will already
have timestamps added to them. Drop the redundant unixtime output for
this use case.
Change-Id: I34886a69a0ef90de2eb84ee8f446cbad624302c1
7 years ago
Richard Fuchs
f01568ed95
fix compilation for older ffmpeg
...
fixes #732
Change-Id: I3e0ed5b889034718e1a19f537e738f734842484d
7 years ago
Richard Fuchs
d279789e23
silence warnings when compiling with -DNDEBUG
...
Change-Id: I46d16f6c083d281622ce71644bcf8d224e0b36b7
7 years ago
Richard Fuchs
357474df6f
TT#50652 add label= option to match call participants
...
Change-Id: Ifc6cf8f630e9e5eb8cfb9b284e671a5ce4470963
7 years ago
Richard Fuchs
9917e65599
fix division by zero for dtmf in some cases
...
closes #730
Change-Id: Ic917cc21d5c9a2012ae59d8c9c323114074fb300
7 years ago
Richard Fuchs
fb76ef74f8
TT#54800 fix ptime overrides
...
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
7 years ago
Richard Fuchs
dc9f99763a
TT#54800 sequencing fixes
...
fixes incorrect seq when packets are consumed, as well as incorrect seq
for out of order packets
Change-Id: I0e2117ab68ccf5d0fa63b395a059aeb992f7dd13
7 years ago
Richard Fuchs
40dc49f8e2
TT#50652 stop media playback on call delete
...
Change-Id: I008c6403ad8f3529806d5649bee0928fb50e9754
7 years ago
Richard Fuchs
661994e362
as per docs, remove all relay candidates under force-relay
...
fixes #728
Change-Id: I2828d4d9d5832d7248ea78b48bd38dba9592cca1
7 years ago
Richard Fuchs
9eea6b1fc4
Reverse participant matching logic
...
The from-tag may have been added to the message automatically, so we
should first check if any other flags are present, and use it only if
nothing else was found
Change-Id: Iec95d56812c31185ecd1171d01c922e7af0f5dd4
7 years ago
Richard Fuchs
349954d2bc
TT#50652 handle SRTP output for media playback
...
Change-Id: Ie83c9c01c4c17e14d30aa14272b86af9ea38e1fb
7 years ago
Richard Fuchs
d449861d96
TT#50652 separate out and move crypt handler routines
...
Change-Id: Ia30aa8912f02ca2ea427b3c659a4b8696dc4a2a0
7 years ago
Richard Fuchs
e1825e3577
TT#50652 ensure consistent RTP timestamp across media restarts
...
Change-Id: I96b72dd13c13728b4f401f42951fbc231cc36705
7 years ago
Richard Fuchs
8d9a0d247c
TT#50652 remove already enqueued packets when media is stopped
...
Change-Id: I0fd2a7100d331d341518888d2c591dbf84b2599d
7 years ago
Richard Fuchs
7e85d1a935
TT#50652 keep existing SSRC context when starting another playback
...
Change-Id: Ia4e64c39f870d0481847a67dd9c8dac1531e822d
7 years ago
Richard Fuchs
223996bc58
TT#50652 add documentation for media playback capability
...
Change-Id: Id9fb0a095f1c54a265f3a30f0a38542db06d46b4
7 years ago
Richard Fuchs
7f5e16d3da
TT#50652 add stop_media call
...
Change-Id: I1b18a41d4b97ccbb83499873e50a797f846a8602
7 years ago
Richard Fuchs
7da2b523a7
TT#50652 return media duration to SIP proxy in play_media response
...
Change-Id: Ib09519f960b37ca41a554aa2779f71c91ef9b49d
7 years ago
Richard Fuchs
e1e6fd4297
TT#50652 add explicit libav error reporting
...
Change-Id: Ib4bc3e89e54a1d4478dd32f7947dadeb262c18ec
7 years ago
Richard Fuchs
5b0a0105ef
TT#50652 support playing back media files from database
...
Change-Id: Ib21b6605553f67d6892ec8e2c75a7b0fca40936e
7 years ago
Richard Fuchs
831946a8d4
TT#50652 fix compilation for with_transcode=no
...
Change-Id: Ie65827be7e27a6f77019a983a1ce131c11b694d3
7 years ago
Richard Fuchs
3bdad88063
TT#50652 create timer to gradually send packets without jitter
...
Change-Id: I5b28f7514f54c6df9f3ee607e3bca76274b431b3
7 years ago
Richard Fuchs
d639223bee
TT#50652 add logging info to media_player timer runs
...
Change-Id: Iac4a1b2de1625ed9419bc76f22eea8167e55951f
7 years ago
Richard Fuchs
8874b4a31f
TT#50652 use random RTP TS when playing back media
...
Change-Id: I7b97877b0c6b7119cbfc6865f947895168af18fc
7 years ago
Richard Fuchs
21535faea6
TT#50652 support playing back media from memory stream
...
Change-Id: I400c4edbda4633abcff07319ce8cd0609b0021b1
7 years ago
Richard Fuchs
4aaccca6ee
TT#50652 separate out media playback routine
...
Change-Id: I35e4071645ff2c0e16a9901ff3d65516dda1907e
7 years ago
Richard Fuchs
92b08d899c
TT#50652 add media playback capability
...
Change-Id: I935812639e4f42cd89c4ecf02f5ae1a9a8243a65
7 years ago
Richard Fuchs
6ba60d5b54
TT#50652 split out packet dequeuing and sending function
...
Change-Id: I303bcfb8869699554ff7381c68767c56fdcdda87
7 years ago
Richard Fuchs
3374254899
TT#50652 split out codec payload type init function
...
Change-Id: Ifd71439179925961f25c828132d7afb207a4f344
7 years ago
Richard Fuchs
83965bdb1f
TT#50652 infrastructure to support reading/playing of media files
...
Change-Id: I8212f5c74bcb9557d41f80ef3a1595f53bafde8a
7 years ago
Richard Fuchs
d96dbdea17
TT#50652 split timer thread functions into separate file
...
Change-Id: I445f3e2556ce647bf7e245e9612f4babcf04e388
7 years ago
Richard Fuchs
cfe6f87c8d
TT#50652 split timeval_cmp_ptr into function
...
Change-Id: I803e25bc3dc631d9eb05223d61708e9bfc5ca9de
7 years ago
Richard Fuchs
0cccae445f
compile fix for with_transcoding=no
...
Change-Id: I6cf6b7d7bc60b21a74be2a7c6c6d11b13b954a04
7 years ago
Richard Fuchs
e3ec97f858
TT#50652 add -Wstrict-prototypes everywhere
...
Change-Id: Ic5b5fcb892a8f70196478f8622d956bdea373422
7 years ago
Richard Fuchs
8f3c309c7f
fix always-transcode not being honoured when only codec-mask was used
...
reported in #664
Change-Id: I2cdfe405c61d48513a01393c5306fe4c875325ee
7 years ago
Richard Fuchs
6092c91ae4
TT#50652 fix possible sequencing bug while resampling
...
Change-Id: I5e0baec70892cbef9a9a036285379fe75ee3eba0
7 years ago
Guillem Jover
1f10dc30d5
TT#49106 Move the usage information into a new man page
...
Change-Id: I837d65c624cf1cabad543236b0a4e36f57894bab
7 years ago
Richard Fuchs
da5cacc965
TT#50652 add YCM config for include/
...
Change-Id: I7c1cb9cd4d8ef97166c8aa1ba470e5fef5f59863
7 years ago
Richard Fuchs
ed5af2df00
TT#50652 add YCM helper macro for CSH hashing
...
Change-Id: I498776539a19f0e5b529b91640af20f8cc3ac948
7 years ago
Richard Fuchs
497c2d6a8d
TT#49104 move RTP sequencing into SSRC context
...
Detect and handle RTP seq resets while transcoding and provide
consistent output seq
fixes #664
Change-Id: I063bd9432f253fde25e90cdeb4e3460a882f7778
7 years ago
Richard Fuchs
717021a29c
add ssllib to gitignore
...
Change-Id: I28d25e1fffa72e4b9f8c179d341873963b67b93d
7 years ago
Richard Fuchs
3b28460507
TT#52651 Squashed commit of the following:
...
commit 2029144368
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 21 13:12:50 2019 -0500
TT#52651 switch TCP to TLS
Change-Id: Iab6b05d3b5c88553cbd6f531f3189084d9e71995
commit b28e718ee4
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 22 09:20:54 2019 -0500
TT#52651 generalise streambuf interface
Change-Id: I7d5ab8ffe13e52d4dbb1901531cc13fcc173d60d
commit cb2dbd2a92
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 19 09:32:56 2019 -0500
TT#52651 add start/stop forwarding commands and party selection logic
Change-Id: I8ef7e288d3a3e485bd2fa14e1a2407a0c8d94bac
commit 442c48f627
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 14 15:43:23 2019 -0500
TT#52651 produce output for TCP forwarding feature
Change-Id: I18543921577faf655679829684f5af46c0af5054
commit 2ef8028eb2
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 14 10:18:21 2019 -0500
TT#52651 make recording to output files optional
Change-Id: I12c288b965641352658ce3b499c2ee90593e1322
commit 10a58cd7a0
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 13 16:02:16 2019 -0500
TT#52651 strip streambuf into lib and include in recording daemon
Change-Id: I1f6638961e9e767063e0b4e6b5d55d88799366d3
commit 9d3bb5bffc
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 13 15:40:12 2019 -0500
TT#52651 extract/move unrelated old legacy decoder struct members
Change-Id: Iffd79b43180c30a9e128a460f7ba85ba49dedeaf
commit 1bc38e4201
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 12 16:43:42 2019 -0500
TT#52651 config options for forwarding option
Change-Id: Ieaa2ee0e55a0c531158174bc6a534738a64dbee6
commit 06d61cd3dd
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 12 16:29:52 2019 -0500
TT#52651 move socket.[ch] into lib/
includes necessary re-shuffling of additional code pieces
Change-Id: I74b314ab5936ac8a0eeaff94e084617b59b28d79
Change-Id: I025e8ec86b90ede79565542dff57ec1559d04200
7 years ago
Alexey Vasilyev
0c9bb7c440
Rename crypto suits according to RFC6188
7 years ago
Richard Fuchs
4266f8e542
move SDES-no handling into __sdes_accept
...
This fixes SDES-no being honoured also for SRTP>RTP transcoding cases
additional fix for #661
Change-Id: I229f89c8b3c6a8e485190d67162e95eee387e307
7 years ago
Richard Fuchs
415af36ae6
don't add rtpmap or mid attributes for deleted/silenced streams
...
fixes #686
Change-Id: Ie9a155072a8b6acb8edcf59a5dd164f78a503616
7 years ago
Richard Fuchs
0c559f5860
Add missing SDES accept routine
...
When we receive an incoming SDES parameter, we must match them against the
previously sent outgoing SDES parameters, choose the one that matches
what we just received and eliminate all others. This is a no-op if none
were sent previously (original offer).
Issue only appears in a re-invite when the first offered crypto suite is
accepted.
fixes #631
Change-Id: I4991d0aaf0b29c1ba66045ed0e5281fc18c8af2e
7 years ago
Richard Fuchs
5c556ef4cf
don't abort on failed EPOLL_CTL_MOD
...
EPOLL_CTL_MOD is used to monitor an fd's writeable status when write was
blocked, but due to a race condition it's possible that the same fd gets
closed by another thread at the same time, causing the EPOLL_CTL_MOD to
fail. As this is now expected, handle it appropriately.
fixes #684
Change-Id: I1ddf16fdbf0fe3e98b4d908544735b823c4cf539
7 years ago
Richard Fuchs
b593d57e21
TT#37400 do not answer with ICE attributes if no ICE was offered
...
fixes #561
Change-Id: Ia660f19109404f8edc1dd5c143e797a82d25276d
7 years ago
Richard Fuchs
e1d6c83319
ignore transcoding options in non-offer messages
...
part of the fixes for #681 (and encountered elsewhere)
Change-Id: I15752ad3183cc55d677eca80e11b000e0b069290
7 years ago
Richard Fuchs
744d6a46ff
add codec-set option
...
Codecs that were implicitly accepted for transcoding had no option to
set their parameters (such as bitrate) for encoding. The codec-set
option adds this.
fixes #681
Change-Id: Ib238eb73a507af168c366579abc80da07250fe88
7 years ago
Richard Fuchs
ee01f15852
fix non-default encoder bitrate not being applied
...
Bitrates specified in codec-transcode-... options were applied to the
decoder created during the offer. The matching encoder only gets created
during the answer phase, at which point the specified bitrate must be
copied from the decoder.
fixes #681
Change-Id: Idc6a16a4493908d78bb0b48ae590aba046152af0
7 years ago
Richard Fuchs
0e129eda08
TT#49600 fix offered crypto suite not being dropped via SDES-no
...
fixes #678
Change-Id: I80ca6c268b7397e7901017a4a7000dd2b2b66bd6
7 years ago
Richard Fuchs
c80f55b85a
TT#49600 add debug log output for SDES negotiations
...
Change-Id: Ifb49d202bfa691cba63f86192e5730f1446ba1b9
7 years ago
Richard Fuchs
aaf8cbd525
TT#49350 eliminate stray scheduling warning
...
Change-Id: I84a13cdca6bf85de8d3fd8b086de6f57287b7b15
7 years ago
Guillem Jover
690bc91337
TT#49106 Fix typos
...
Change-Id: Ife08b36a94b5f6b525f18f359bca1c18bfe46305
Warned-by: lintian
7 years ago
Richard Fuchs
9e4d140e7b
TT#49045 add new flag to leave media direction attrs unchanged
...
Change-Id: I2dcafa3be9f8a0dfd7c1cf3e6046dabe9fa5bbee
7 years ago
Yasin CANER
e8771d309d
daemon makefile : added if statement for g729
...
added if condition for g729 codec . After installation bcg729 library from git repo , it helps to find right path.
7 years ago
Richard Fuchs
881e0dc2dc
TT#48800 add option to disable individual SDES crypto suites
...
closes #661
Change-Id: I3556977246d6e15bf134755e1d699e9165735886
7 years ago
Richard Fuchs
810bda1486
TT#48800 create codec hash tables only on demand
...
Change-Id: I255d6ed2b2bc650115f008d90baa0ebbaa524f68
7 years ago
Richard Fuchs
98de5697e6
TT#48650 use constant string hashing for string lookups
...
To avoid repeated strcmp()s and make use of switch()'s optimised binary
lookup, we employ a second build step that preprocesses certain .c files
and uses gperf to substitute pseudomacros with their respective constant
hash value.
Change-Id: Id89c4728a0fc7aa911691d4dd1ba8e7b3916a983
7 years ago
Richard Fuchs
9e6199c7b9
don't skip incomplete monologues for `query`
...
Change-Id: I54b957b08440d7d31b26ef7fe99a31073171ae82
7 years ago
Richard Fuchs
c61d7f129e
add new `full rtcp attribute` flag
...
closes #668
Change-Id: I1ee13d4121d0aa6dff46470327a6caba9b631d7d
7 years ago
Richard Fuchs
19da0e05e8
TT#45472 save and restore media IDs from and to redis
...
Change-Id: Ic69b509531d4e5483122470cd3d2b0c7de712dca
7 years ago
Richard Fuchs
3dc7d1b3ed
TT#45472 support updating media ID strings
...
Change-Id: I8c8f42419d81fb3e08ecbbf09999d2be4f2ac93f
7 years ago
Richard Fuchs
d39c2dbb43
TT#45472 properly accept support for trickle ICE
...
Change-Id: Icb3bbe3b2e5eebd1db43254d4ba13b0fba218fcb
7 years ago
Richard Fuchs
77e2862a02
TT#45472 suppress media updates for SDP fragments
...
Change-Id: Iceae3fb44f77448311767d649d2f22e1153f27e9
7 years ago
Richard Fuchs
18ec141d2b
TT#45472 avoid an unnecessary implicit call to strlen
...
Change-Id: Ic45451ed3bab3d3724e4dadd43026529d3abc707
7 years ago
Richard Fuchs
d08d84071a
TT#45472 support SDP fragments for trickle ICE
...
Change-Id: I31880b5cf837a078bdb75e86dd425136bf829e4c
7 years ago
Richard Fuchs
3603cda0c4
TT#45472 fix indentation
...
Change-Id: Ibe64ae682f2c888897c4f9844db128b80e9d81e7
7 years ago
Richard Fuchs
c546b6b89f
TT#45472 check a=mid values in answers and warn on mismatches
...
Change-Id: I49b359db40b984abb8a46407145d5adeb7e19cfa
7 years ago
Richard Fuchs
e1fbe25b89
TT#45472 keep track of media IDs in a hash table
...
Change-Id: I66d2a5aff29447a60f4f3961165bfb6c0392a38e
7 years ago
Richard Fuchs
a1efdf6b20
TT#45472 support generating a=mid lines if not present
...
closes #641
Change-Id: I849f0c73c5fdd575417a37a41d6701ea4454374b
7 years ago
Richard Fuchs
3c50130c7b
TT#45472 process and retain media ID strings (a=mid)
...
Change-Id: Icf7219f407ed660c009ffde838c942e13aad40ce
7 years ago
Richard Fuchs
b778b712fc
fix poller race condition
...
One thread may close an fd while another thread is processing the result
events that can include a POLLOUT for the same fd. That same fd might
then get re-opened as another type of object and get added to the poller
again. When the POLLOUT event then gets processed, no `writeable`
function would be present.
This is not a clean fix for the underlying race condition as stray
events might still get processed, but seeing extra stray events should
not be a problem.
Change-Id: I2fa2277bb0ddf512f53917297bd4220fe794dd0e
7 years ago
Richard Fuchs
fb1083f8e3
Add option to leave base64 padding for a=crypto in place
...
closes #658
Squashed commit (plus docs and minor modification) of:
commit 4187cd3b2d
Author: Muhammad Zaka <muhammad.zaka@synety.com>
Date: Mon Nov 19 18:13:43 2018 +0000
removed unnecessary pad_crypto_def variable
commit 5c7b7c0ced
Author: Muhammad Zaka <muhammad.zaka@synety.com>
Date: Mon Nov 19 17:39:18 2018 +0000
add `pad-crypto` flag to not truncate trailing '==' after base64 encode
commit 98bea79902
Author: Muhammad Zaka <muhammad.zaka@synety.com>
Date: Fri Nov 16 10:59:47 2018 +0000
crypto containing padding should be sent within sdp for pass through
Change-Id: I1f7502f34e9492100e5c3a5a7345319ed996c22c
7 years ago
Richard Fuchs
106007a36f
Merge branch 'master' of https://github.com/HeroBase/rtpengine
...
Change-Id: If48c75fc8ddf1535170d87ec310948a435645b2a
7 years ago
Tor Petterson
f71f66f60b
Expanded Documentation of option log-srtp-keys
7 years ago
Richard Fuchs
0496c595b4
Change name of option from log-rtp-keys to log-srtp-keys
...
Co-Authored-By: TorPetterson <32388321+TorPetterson@users.noreply.github.com>
7 years ago
Richard Fuchs
0bf3eab4d6
convert codec ops to no-op for legacy control protocols
...
fixes #652
Change-Id: Ie6bc6529e43e3027cdcfc6cb22275b8b0145b69a
7 years ago
Richard Fuchs
13c21b1400
fix segfault when using legacy control protocol
...
fixes #652
Change-Id: Id60351e41411ae5a309bf7b1da98b1ec34c37d66
7 years ago
Tor Petterson
590b752bbd
Added option to write SRTP keys to log
7 years ago
Richard Fuchs
e9f9ae75ad
fix compiler warning
...
Change-Id: I35c60bfce71045a6399368b9cfa887501557c71a
7 years ago
Richard Fuchs
347f1c68f9
suppress empty a=rtpmap lines
...
fixes #638
Change-Id: Iab2b9c965028ca3add9e5d1d1614acc8d774ac28
7 years ago
Richard Fuchs
fc026cd7e4
fix possible null pointer dereference
...
closes #627
Change-Id: I8cfd99dca9b0d03858db147128e76fd52fc7a207
7 years ago
Richard Fuchs
31023572a5
TT#41900 save monologue label into recording DB
...
closes #582
Change-Id: Ibc894e82b61e4231c99f9618685a6232f7e50da7
7 years ago
Richard Fuchs
35764c5c63
TT#44702 add CLI command for interface/port stats
...
Change-Id: I670b3779d748e81097995961d6411d21a279bd08
7 years ago
Richard Fuchs
326c6a5818
TT#43557 augment DTMF blocking to support directional blocking
...
Change-Id: I5d77b437fe746ac5f3b6c15d327755f9349b61d8
7 years ago
Richard Fuchs
04a83027a0
TT#43557 implement media blocking
...
Change-Id: I336cf7203c1236b3e596310690a89ce1c3fd8bf4
7 years ago
Guillem Jover
5ba52952c0
TT#42906 Add systemd notify support
...
Change-Id: Iba046fa3e36654cedb73203eb06a9d768720a6b0
8 years ago
Richard Fuchs
89084da8d8
TT#43855 support XMLRPC callback to Kamailio
...
Change-Id: I35f9abb5e98ff17f4fed28ca0e045e7d5d734b1d
8 years ago
Richard Fuchs
e67b9c40da
TT#43556 support blocking of DTMF event packets
...
Change-Id: I7ef43ddb254b1583c2dc69b44a13b978eff15510
8 years ago
Richard Fuchs
b82cf56ec0
clean up code artefacts from cab9d895
...
Change-Id: I8aa475ee5338d5a0bdc57c082991624f8af809e2
8 years ago
Richard Fuchs
cab9d895b2
TT#42500 fix only one crypto suite being offered.
...
We should offer all crypto suites that we support. If passing through
SDES, we should amend the list of crypto suites with all additional ones
that we support that weren't included in the received offer.
closes #577
Change-Id: I9b6c16e8eadecf01cdbc8043bd8361e0f683e456
8 years ago
Richard Fuchs
135dfb73ae
fix handling of >1 consecutive media ports
...
fixes #610
Change-Id: I00124fa76461fe0b7e85717126628b068ebc006d
8 years ago
Richard Fuchs
7dd8ed0b8f
quote options value strings in error output
...
Change-Id: Iaa938c08627831f367a4898355250737350cba58
8 years ago
Richard Fuchs
d4afb14e11
fix DTMF packet allocation size
...
probably fixes #583
probably fixes #587
probably fixes #585
probably fixes #594
Change-Id: I6147acd4c539065142d15ce12b1a33993e1c0bec
8 years ago
Richard Fuchs
a44b34a7a9
don't free event base before calling loopbreak()
...
Change-Id: I7f4283804b1c34a110e5f4ddad14bd1dd4122cc4
8 years ago
Eric Green
f91b64fcdf
Make recording more accurately report source address. Fixes #584
8 years ago
Richard Fuchs
694e9d8f60
do not memcmp against uninitialized bytes
...
silences valgrind warnings
reported in #585
Change-Id: I40098d6eab5e128b537fb0cc2821b60d3553c4cb
8 years ago
Richard Fuchs
0aeb06f613
TT#40900 store metadata in call struct instead of recording struct
...
makes it possible to set the metadata before recording has been started
closes #579
Change-Id: I885a39fbc53345a4e9f2459f3cd972cb1198c210
8 years ago
Richard Fuchs
178391e177
fix possible core dump when processing certain malformed SDP
...
Change-Id: I3240f09033d7e587c48f8baa315953c553b99f0b
8 years ago
Richard Fuchs
d26b11ffb0
fix compilation for with_transcoding=no
...
Change-Id: Ibb63f51b909052d81ebf1865335a428a421d856e
8 years ago
Richard Fuchs
be9c3146f4
fix missing header include
...
fixes #569
Change-Id: I795a96dbe224bc798317e47b11d758e56e26d1ae
8 years ago
Richard Fuchs
08fc00906d
fix segfault with DTMF logging and implicit payload types
...
fixes #571
Change-Id: Id2b575ff555d7968006309bcb5b5d6bbac2ed1e7
8 years ago
Richard Fuchs
a9ec666cb4
TT#38350 implement sending DTMF events to syslog
...
Change-Id: I82fbdc7da6cbe2505ef1c98dd3c45b63c4461994
8 years ago
Richard Fuchs
dd34574669
TT#38350 keep track of the most used RTP payload type
...
Instead of just remembering the last seen RTP payload type, this adds a
tracker that keeps track of the last 32 seen payload types and keep the
list in order of how often each type was seen.
Change-Id: I062a43b7bfc9413b755dca548d72953ff8245477
8 years ago
Richard Fuchs
4eb80da836
compile fix for with_transcoding=no option
...
fixes #568
Change-Id: I97fba6bb767a572d6b701e274176913270e55f16
8 years ago
Richard Fuchs
d66a2e5191
TT#38351 support specifying interfaces by name
...
closes #566
Change-Id: Ia9a5c6d9d702e27404a7e27503970ee9a8dac7b9
8 years ago
Richard Fuchs
cbe7e5ab1d
TT#36700 implement ports free list
...
eases CPU usage when the number of available ports runs low
Change-Id: I0cdb035991a54a96c94ff47b074c91ff2b74c9bd
8 years ago
Richard Fuchs
bfac341aec
shut down transcoding engine when it's not needed
...
closes #562
Change-Id: I3c96cdcdeea8ee815f0ae7e40a4caccbfee9977e
8 years ago
Richard Fuchs
8562bdee70
support new `asymmetric codecs` flag
...
Change-Id: I244b3576be19658ecc2af353e427e95aea4fca70
8 years ago
Richard Fuchs
f1b81b649e
simplify parameters passed to codec_rtp_payload_types()
...
Change-Id: I8a9147bb527b3084ed9f4acfa82868fc26b0d8c2
8 years ago
Richard Fuchs
9f3f24f3ef
TT#36759 rate limiting for ICE/STUN log messages
...
Change-Id: Iac172a52ac9a48d5ff62995454bda108680228d7
8 years ago
Richard Fuchs
e404f18975
TT#37157 fix missing G722 RTP TS output scaling
...
fixes #560
Change-Id: Ief961a1f0e3d7fb1bd07e79eab1ceb54b5d131be
8 years ago
Richard Fuchs
50394e8dd2
TT#37156 fix divide by zero error (regression from db58aa80)
...
fixes #564
Change-Id: Ifdc58c814d6a0c82d95ca86ab2fd4eb3a85486ae
8 years ago
Huseyin Dikme
30ba1cd2a6
control command logs have been updated
8 years ago
Richard Fuchs
95a7cc6cfb
eliminate redundant function argument
...
Change-Id: I5bff4436072c2855590e08d90c5098af3abceb93
8 years ago
Richard Fuchs
d64c888a0e
TT#36301 transcoding unit tests
...
Change-Id: If48e5afe5a343b557183b6e87441f52424dd2c6a
8 years ago