Richard Fuchs
f01568ed95
fix compilation for older ffmpeg
...
fixes #732
Change-Id: I3e0ed5b889034718e1a19f537e738f734842484d
6 years ago
Richard Fuchs
d279789e23
silence warnings when compiling with -DNDEBUG
...
Change-Id: I46d16f6c083d281622ce71644bcf8d224e0b36b7
6 years ago
Richard Fuchs
357474df6f
TT#50652 add label= option to match call participants
...
Change-Id: Ifc6cf8f630e9e5eb8cfb9b284e671a5ce4470963
6 years ago
Richard Fuchs
9917e65599
fix division by zero for dtmf in some cases
...
closes #730
Change-Id: Ic917cc21d5c9a2012ae59d8c9c323114074fb300
6 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
6 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
6 years ago
Richard Fuchs
40dc49f8e2
TT#50652 stop media playback on call delete
...
Change-Id: I008c6403ad8f3529806d5649bee0928fb50e9754
6 years ago
Richard Fuchs
661994e362
as per docs, remove all relay candidates under force-relay
...
fixes #728
Change-Id: I2828d4d9d5832d7248ea78b48bd38dba9592cca1
6 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
6 years ago
Richard Fuchs
349954d2bc
TT#50652 handle SRTP output for media playback
...
Change-Id: Ie83c9c01c4c17e14d30aa14272b86af9ea38e1fb
6 years ago
Richard Fuchs
d449861d96
TT#50652 separate out and move crypt handler routines
...
Change-Id: Ia30aa8912f02ca2ea427b3c659a4b8696dc4a2a0
6 years ago
Richard Fuchs
e1825e3577
TT#50652 ensure consistent RTP timestamp across media restarts
...
Change-Id: I96b72dd13c13728b4f401f42951fbc231cc36705
6 years ago
Richard Fuchs
8d9a0d247c
TT#50652 remove already enqueued packets when media is stopped
...
Change-Id: I0fd2a7100d331d341518888d2c591dbf84b2599d
6 years ago
Richard Fuchs
7e85d1a935
TT#50652 keep existing SSRC context when starting another playback
...
Change-Id: Ia4e64c39f870d0481847a67dd9c8dac1531e822d
6 years ago
Richard Fuchs
223996bc58
TT#50652 add documentation for media playback capability
...
Change-Id: Id9fb0a095f1c54a265f3a30f0a38542db06d46b4
6 years ago
Richard Fuchs
7f5e16d3da
TT#50652 add stop_media call
...
Change-Id: I1b18a41d4b97ccbb83499873e50a797f846a8602
6 years ago
Richard Fuchs
7da2b523a7
TT#50652 return media duration to SIP proxy in play_media response
...
Change-Id: Ib09519f960b37ca41a554aa2779f71c91ef9b49d
6 years ago
Richard Fuchs
e1e6fd4297
TT#50652 add explicit libav error reporting
...
Change-Id: Ib4bc3e89e54a1d4478dd32f7947dadeb262c18ec
6 years ago
Richard Fuchs
5b0a0105ef
TT#50652 support playing back media files from database
...
Change-Id: Ib21b6605553f67d6892ec8e2c75a7b0fca40936e
6 years ago
Richard Fuchs
831946a8d4
TT#50652 fix compilation for with_transcode=no
...
Change-Id: Ie65827be7e27a6f77019a983a1ce131c11b694d3
6 years ago
Richard Fuchs
3bdad88063
TT#50652 create timer to gradually send packets without jitter
...
Change-Id: I5b28f7514f54c6df9f3ee607e3bca76274b431b3
6 years ago
Richard Fuchs
d639223bee
TT#50652 add logging info to media_player timer runs
...
Change-Id: Iac4a1b2de1625ed9419bc76f22eea8167e55951f
6 years ago
Richard Fuchs
8874b4a31f
TT#50652 use random RTP TS when playing back media
...
Change-Id: I7b97877b0c6b7119cbfc6865f947895168af18fc
6 years ago
Richard Fuchs
21535faea6
TT#50652 support playing back media from memory stream
...
Change-Id: I400c4edbda4633abcff07319ce8cd0609b0021b1
6 years ago
Richard Fuchs
4aaccca6ee
TT#50652 separate out media playback routine
...
Change-Id: I35e4071645ff2c0e16a9901ff3d65516dda1907e
6 years ago
Richard Fuchs
92b08d899c
TT#50652 add media playback capability
...
Change-Id: I935812639e4f42cd89c4ecf02f5ae1a9a8243a65
6 years ago
Richard Fuchs
6ba60d5b54
TT#50652 split out packet dequeuing and sending function
...
Change-Id: I303bcfb8869699554ff7381c68767c56fdcdda87
6 years ago
Richard Fuchs
3374254899
TT#50652 split out codec payload type init function
...
Change-Id: Ifd71439179925961f25c828132d7afb207a4f344
6 years ago
Richard Fuchs
83965bdb1f
TT#50652 infrastructure to support reading/playing of media files
...
Change-Id: I8212f5c74bcb9557d41f80ef3a1595f53bafde8a
6 years ago
Richard Fuchs
d96dbdea17
TT#50652 split timer thread functions into separate file
...
Change-Id: I445f3e2556ce647bf7e245e9612f4babcf04e388
6 years ago
Richard Fuchs
cfe6f87c8d
TT#50652 split timeval_cmp_ptr into function
...
Change-Id: I803e25bc3dc631d9eb05223d61708e9bfc5ca9de
6 years ago
Richard Fuchs
0cccae445f
compile fix for with_transcoding=no
...
Change-Id: I6cf6b7d7bc60b21a74be2a7c6c6d11b13b954a04
6 years ago
Richard Fuchs
e3ec97f858
TT#50652 add -Wstrict-prototypes everywhere
...
Change-Id: Ic5b5fcb892a8f70196478f8622d956bdea373422
6 years ago
Richard Fuchs
8f3c309c7f
fix always-transcode not being honoured when only codec-mask was used
...
reported in #664
Change-Id: I2cdfe405c61d48513a01393c5306fe4c875325ee
6 years ago
Richard Fuchs
6092c91ae4
TT#50652 fix possible sequencing bug while resampling
...
Change-Id: I5e0baec70892cbef9a9a036285379fe75ee3eba0
6 years ago
Guillem Jover
1f10dc30d5
TT#49106 Move the usage information into a new man page
...
Change-Id: I837d65c624cf1cabad543236b0a4e36f57894bab
6 years ago
Richard Fuchs
da5cacc965
TT#50652 add YCM config for include/
...
Change-Id: I7c1cb9cd4d8ef97166c8aa1ba470e5fef5f59863
6 years ago
Richard Fuchs
ed5af2df00
TT#50652 add YCM helper macro for CSH hashing
...
Change-Id: I498776539a19f0e5b529b91640af20f8cc3ac948
6 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
6 years ago
Richard Fuchs
717021a29c
add ssllib to gitignore
...
Change-Id: I28d25e1fffa72e4b9f8c179d341873963b67b93d
6 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
6 years ago
Alexey Vasilyev
0c9bb7c440
Rename crypto suits according to RFC6188
6 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
6 years ago
Richard Fuchs
415af36ae6
don't add rtpmap or mid attributes for deleted/silenced streams
...
fixes #686
Change-Id: Ie9a155072a8b6acb8edcf59a5dd164f78a503616
6 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
7 years ago
Richard Fuchs
89084da8d8
TT#43855 support XMLRPC callback to Kamailio
...
Change-Id: I35f9abb5e98ff17f4fed28ca0e045e7d5d734b1d
7 years ago
Richard Fuchs
e67b9c40da
TT#43556 support blocking of DTMF event packets
...
Change-Id: I7ef43ddb254b1583c2dc69b44a13b978eff15510
7 years ago
Richard Fuchs
b82cf56ec0
clean up code artefacts from cab9d895
...
Change-Id: I8aa475ee5338d5a0bdc57c082991624f8af809e2
7 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
7 years ago
Richard Fuchs
135dfb73ae
fix handling of >1 consecutive media ports
...
fixes #610
Change-Id: I00124fa76461fe0b7e85717126628b068ebc006d
7 years ago
Richard Fuchs
7dd8ed0b8f
quote options value strings in error output
...
Change-Id: Iaa938c08627831f367a4898355250737350cba58
7 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
7 years ago
Richard Fuchs
a44b34a7a9
don't free event base before calling loopbreak()
...
Change-Id: I7f4283804b1c34a110e5f4ddad14bd1dd4122cc4
7 years ago
Eric Green
f91b64fcdf
Make recording more accurately report source address. Fixes #584
7 years ago
Richard Fuchs
694e9d8f60
do not memcmp against uninitialized bytes
...
silences valgrind warnings
reported in #585
Change-Id: I40098d6eab5e128b537fb0cc2821b60d3553c4cb
7 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
7 years ago
Richard Fuchs
178391e177
fix possible core dump when processing certain malformed SDP
...
Change-Id: I3240f09033d7e587c48f8baa315953c553b99f0b
7 years ago