Hossein Yavari
0b726872b7
MT#55283 Add configurable HTTP idle (keepalive) timeout
...
- Add --http-idle-timeout option (seconds; 0 = libwebsockets default, 5s for HTTP/1.1)
- Pass keepalive_timeout to libwebsockets when creating HTTP and HTTPS vhosts
- Reject negative values; default 0 preserves existing behaviour
- Document in docs/rtpengine.md and etc/rtpengine.conf
- Extend auto-daemon-tests-http.pl to run with --http-idle-timeout=5
Closes #2077
Change-Id: I134bd08a0b82aa95e8e7c28e75a65ca783cb91d9
2 months ago
Richard Fuchs
1469e0669f
MT#55283 also use offered_codecs for the answerer
...
Closes #2073
Change-Id: I1f9a1576377c21eedd441a3a3f06657384fac32c
2 months ago
Richard Fuchs
cfe9a588fa
MT#55283 extend "answer only" logic
...
Provide an extra codec-store for the lookup of the answer codec. This is
needed for codec switches during an extra answer, as the original codecs
are kept in a different codec-store.
Closes #2073
Change-Id: I7e2efc434789ecc8d3b5fcf97240e5c3f7c84652
2 months ago
Richard Fuchs
23203d9895
MT#55283 add some const qualifiers
...
Change-Id: I94bc88c3538818baf7ac326e49484a893dac7052
2 months ago
Richard Fuchs
ce029008f8
MT#55283 duplicate cache PTs into cache arena
...
Closes #2074
Change-Id: I62946675c5b6c4367ca884dcf346a0f6f6c712a7
2 months ago
Richard Fuchs
4ea7873ca7
MT#55283 update memory arena logic
...
Use a pointer to the arena plus a comparison test to determine whether
to ref or to dup the string, instead of a function pointer. The function
pointer alone wasn't enough as there can be multiple arenas.
Change-Id: Icd317e524fc2e5842f90d172ef7089d2cb0a5a28
2 months ago
Richard Fuchs
0b82e17f01
MT#55283 don't copy media_id from src to dst
...
Change-Id: Ia7c1256dff3025162431e8568cdfcfdfef475070
2 months ago
Richard Fuchs
05268aac2b
MT#55283 don't look up dst media by src media_id
...
Change-Id: Id6da108b68943d62ad7036b2bb38df8f4f786c98
2 months ago
Richard Fuchs
bc85945a59
MT#55283 split out media_gen_media_id
...
Change-Id: Ib34d2b8416b78e41e8acf33ff93777d53bf1faaa
2 months ago
Richard Fuchs
ba8c0fa87f
MT#55283 allow null media_id
...
Change-Id: I2715fcf1a05c430c7eeea5c4c8f8ad7c1bc69ed0
2 months ago
Richard Fuchs
c576286a53
MT#55283 remove redundant loop
...
Change-Id: Ib10cfcc2303b3dd2cb22d41711b598095a3f6ad4
3 months ago
Richard Fuchs
027768f425
MT#55283 combine sub-ans logic
...
Change-Id: I787d3782cba07410d4a6c7ea8640ab98bcb5c6d2
3 months ago
Richard Fuchs
764368cdfa
MT#55283 subscribe requests per media
...
Change-Id: Ie34f167da3ce1ca662bf8771bfaebd5e4a51f413
3 months ago
Richard Fuchs
62f5076690
MT#55283 save per-media stream_params
...
instead of the full list of stream params per monologue
Change-Id: I5fbee96bbd14525ea93b059a15f2199108b30bf1
3 months ago
Richard Fuchs
a255e84180
MT#55283 be more selective for sub unkernel
...
Change-Id: Ic9dff7fe0be4a3c93ec654d2b962c1d943b08066
3 months ago
Richard Fuchs
cdba96c09d
MT#55283 switch subscriptions to intrusive list
...
Change-Id: I4b8839e4d23742f082cb02d4db239d2604d5585e
3 months ago
Richard Fuchs
e015250b96
MT#55283 fix handing of sub-ans with extra media
...
Closes #2066
Change-Id: I35761075c28be3ddf1476d46b3bb8621ae899b40
3 months ago
Denys Pozniak
1542f8f549
MT#55283 Add no-tls-id flag to disable a=tls-id SDP attribute generation
...
Closes #2064
Change-Id: I9f133777ab8c6078e182f20c702fe77be9c5ec8d
3 months ago
Richard Fuchs
3c07afd269
MT#55283 ignore erroneous use of to-tag
...
The Kamailio control module unconditionally adds the current to-tag to
the control message if rtpp-flags parsing is active. This is generally
not desirable in the case of an initial subscribe-request, as we want a
generated to-tag when the existing to-tag belongs to another dialogue.
Special-case this to ignore the included to-tag if none has been given
explicitly.
Change-Id: I1dc28bfdfd086766e0b6a117c74edd0ebb75d526
3 months ago
Richard Fuchs
d6cf41dfc8
MT#55283 track explicit to-tag in rtpp-flags
...
Change-Id: If6856dfa7bc62f5cd6668242fc2726369c0ac465
3 months ago
Richard Fuchs
54c0dc9f31
MT#55283 allow alternative spellings for to-tag
...
Change-Id: I3f66c6f699f279099a60f3ad3c4d76a01d0ed4ec
3 months ago
Richard Fuchs
fe06c5c1ef
MT#55283 track usage of rtpp-flags parsing
...
Change-Id: I1db41e06e3765d4af382b42f976118f88962f503
3 months ago
Richard Fuchs
d3ef4edfcf
MT#55283 allow RTCP APP for peer verification
...
Closes #2057
Change-Id: I069d12d8c7fd7ec36b77f1394fd9e8b928cdfd46
3 months ago
fergusean
256ad7b588
MT#55283 Fix "maximum" typo
...
Closes #2062
Change-Id: Ibef2fe4876cef777e23aaff87918352bec59b13f
3 months ago
Richard Fuchs
d1c235cbd2
MT#55283 tmp buffer improvements
...
Change-Id: I81987a1a559d5bdcd5b1725dba227ce44e096e91
3 months ago
Richard Fuchs
cd5a77ab96
MT#55283 fix colliding use of temp buffer
...
closes #2054
Change-Id: I7943d4591f7fb9f08d079411b4b3c04cf96675e5
3 months ago
Richard Fuchs
b1ac55c844
MT#55283 add str_dup_dup helper function
...
Change-Id: Ieacb147e3a98b5f31a8e45fb709df73636347cc0
3 months ago
Richard Fuchs
454983a3a8
MT#55283 add TOS to kernel player
...
Change-Id: I1e13015675b2b539e9c7cde01fba96a912726793
3 months ago
Richard Fuchs
d27fc60122
MT#55283 add missing opt setting
...
Fixes block-egress not being effective
Change-Id: Ib08146c62ae191abddd181e7df1f9f1e3149d6f9
3 months ago
Richard Fuchs
46a2124503
MT#55283 use wrapper function
...
Change-Id: I1ca86c0a815d959054c560ceed2610b3e2ab26f5
3 months ago
Richard Fuchs
690d601269
MT#55283 const qualifier
...
Change-Id: Ia042e3b8fb09fd832fef60a34c380e3b156aca56
3 months ago
Richard Fuchs
72ab151266
MT#55283 move uring conditions
...
Change-Id: If472d4c352d3e06faf87ab1f857e2fccb1c0d02d
3 months ago
Richard Fuchs
65b94a73a9
MT#55283 return success from add_stream
...
Change-Id: I0d507432993725085671ed19f7a98e69c23c84e3
4 months ago
Richard Fuchs
d813453a56
MT#55283 avoid implicit memcpy
...
Change-Id: I282c922b7866d5c7d837205ba9f91166a00e21aa
4 months ago
Richard Fuchs
26be887cae
MT#55283 generalise obj allocators
...
Change-Id: Ic927bcac573c5b7c0343c77bebdc3c524f2fca64
4 months ago
Richard Fuchs
cc53062ca1
MT#55283 auto detect libiptc
...
Instead of having to manually disable legacy iptables support, auto
detect presence of libiptc and only include the feature if present.
Closes #2045
Change-Id: I649320727e9e9a565eabd369c683dfe6b6bdaec1
4 months ago
Richard Fuchs
5defd9cdb6
MT#55283 fix blank lines in stats output
...
Change-Id: I9fcf9df800dd9c1e59a9b96bff339063da60f629
4 months ago
Orgad Shaneh
2bc07e3cc9
MT#55283 Support "record call" for publish
...
Initial call recording is set by "record call". This worked for
offer/answer but not for publish.
Closes #2052
Change-Id: I0d311406aec36392f29c324ec862baa50bf23756
4 months ago
Richard Fuchs
910624c997
MT#55283 remove redundant condition
...
Change-Id: I324e4eaaaa40bcc919c874b39fa26580b9b849cf
4 months ago
Richard Fuchs
c82d9ff2e6
MT#55283 update return type
...
Change-Id: Ia4fc6e186a9cb0ca6cee9ecd53118362233b1f09
4 months ago
Richard Fuchs
8b4219f739
MT#55283 introduce stream_fd lock
...
Required to avoid races over the "kernelized" flag
Change-Id: I316cc82d57a51e8778be4562a46a262804a7197f
4 months ago
Richard Fuchs
fede2a051e
MT#55283 fix deadlock retry logic
...
Change-Id: I6f4162f724e527828f4f14e26746dff7d43562f5
4 months ago
Richard Fuchs
0fa3641706
MT#55283 report netlink errors by seq num
...
Not 100% sure if this is how it's intended to be handled, as the failed
requests seem to produce multiple ACK messages, but at least this fixes
the immediate problem of the printed error message not matching the
request which failed.
Closes #2041
Change-Id: I2a6bf57ce996c134b44d4f3484164a39c68fc93c
4 months ago
Richard Fuchs
d891145474
MT#55283 add sequencing to netlink messages
...
Change-Id: I6346c79a204d0ee1f7587676848cdcfca7055262
4 months ago
Richard Fuchs
b833a39198
MT#55283 print readable msg for netlink errors
...
closes #2039
Change-Id: If6c16d29482f16ed57b9059f3c13b23520b74cab
5 months ago
Richard Fuchs
645b5e1319
MT#55283 return flexible error strings
...
Change-Id: I0d6dee21901f85be1bfffaabe9c94e66073b99ba
5 months ago
Richard Fuchs
5dcc70c240
MT#55283 track human readable messages
...
Change-Id: I53380194d66591ada7bf48bca3cae5a933eabc79
5 months ago
Richard Fuchs
44d4dae2e0
MT#55283 set AV seek flags
...
Fixes seeking for certain file formats
Change-Id: Ib7cd080e1bff134b568e7d3bd277c6954664b4ca
5 months ago
Richard Fuchs
11061b483e
MT#55283 simpler lookup for PCM16
...
Change-Id: Id473485bbd9ce82f18ef03436ae6edb604e139d0
5 months ago
Richard Fuchs
50dc4e5342
MT#55283 support generic playback from AV files
...
Closes #2034
Change-Id: I0fa6764f45aea27e4baca553ab0dc757f7fc1830
5 months ago
Richard Fuchs
b9d1509244
MT#55283 rename module
...
Change-Id: I81f5370655af00d3a99593eb17cb1d62d961370c
5 months ago
Richard Fuchs
c5458cb933
MT#55283 support nftables INET family
...
closes #1732
Change-Id: I04c94aa4f35c55a8035eb0edadd9280c380590a3
5 months ago
Richard Fuchs
b324647699
MT#55283 create and delete native nftables rule
...
Adds option to fall back to legacy XT target.
Change-Id: Ieda628313d42159df9a6e6281a50d4b289ab8a0c
5 months ago
Richard Fuchs
c2a9f0edcf
MT#55283 add dummy comment rule
...
Since CLI tools don't reliably print the rules pointing to the handler
kernel module, add a dummy rule in the vicinity that contains just a
comment explaining what's there.
Change-Id: Ib5c9e6959643b3b3be5acd05203e91763b52da54
5 months ago
Richard Fuchs
ecdccf07ec
MT#55283 use more specific struct member names
...
Makes it less confusing about which step of the process each callback is
used in.
Change-Id: If30bddcb0ffae68a6f8f3b67f0e8f479497f7ed9
5 months ago
Richard Fuchs
ecd535f725
MT#55283 markup chain name
...
Change-Id: I78ad020a193056f2f7f067ed0cb72d6b5053157c
5 months ago
Richard Fuchs
cc5c0f07cb
MT#55283 only remove rules with matching table
...
Change-Id: I19fba3b41634e3d7bd6fd66b9c64430d7976f723
5 months ago
Richard Fuchs
09be6451d5
MT#55283 replace linmnl/libnftnl usage
...
Change-Id: I42c64bf9b4cc78835f98030b540c982bf70b8b8b
5 months ago
Matteo Brancaleoni
e9fd1f89e3
MT#55283 Add inbound-peer, outbound-peer and peer flags for automatic interface selection
...
Introduce three new NG protocol flags that automatically select the matching
configured rtpengine interface based on the system's routing table:
- inbound-peer=<ip>: resolves to interface for inbound (from) direction
- outbound-peer=<ip>: resolves to interface for outbound (to) direction
- peer=<ip> resolves to interface when only one interface is required
When these flags are used, the system:
- Uses a temporary UDP socket to determine the local address assigned by routing
- Finds the first configured rtpengine interface matching that local address
- Uses that interface for the media stream
This allows dynamic interface selection based on network topology without
requiring explicit interface names in the signaling.
Closes #2033
Change-Id: I211806b9cef9d028fdb689d90ea3fe627bdf5d0d
5 months ago
Richard Fuchs
e5d3aa0f01
MT#55283 add poller status to Prom
...
Change-Id: I8f0bc1388dd0d6cbe28351896c062ed01d4f0b4c
5 months ago
Richard Fuchs
d279b14a99
MT#55283 export poller thread stats
...
Change-Id: I5b8b2e6c791d27a1d29e982c72005aff38e7cd6d
5 months ago
Richard Fuchs
9196bb5f5d
MT#55283 track poller stats
...
Count number of wakeups and number of items per wakeup
Change-Id: I75eb53804f9690722a3908339bf9f606c8a8f4a9
5 months ago
Richard Fuchs
750c00618f
MT#55283 increase poller wait time to forever
...
Change-Id: I1df315d9f5382a974d67471f0f2eedec0eb9cb69
5 months ago
Richard Fuchs
11f92ac502
MT#55283 use g_new instead of g_malloc
...
Change-Id: I54a69b5ecfe0650653080e345a69b0c257682c70
5 months ago
Richard Fuchs
15effb7641
MT#55283 type-safe thread helpers
...
Change-Id: I90ba4347ed787eb63bad84287bea200fac5dbe82
5 months ago
Richard Fuchs
0b94847eae
MT#55283 local var for shorter code
...
Change-Id: I1e8bb980a23402c1b3f5b2dc1d1a412a960a02e6
5 months ago
Richard Fuchs
5f832a5d81
MT#55283 refactor mem pinning into function
...
Change-Id: I8824dcf88412c68bb9f9df5dc0d6d0ed7e6fd067
5 months ago
Richard Fuchs
5263fb0098
MT#55283 pull down service ready notification
...
Change-Id: I1cd82828c15598ef7d2f6c868d3ea479ac3ed934
5 months ago
Alex Brown
2639d9c0d1
MT#55283 Fix Issue with pcap based recording getting overwritten
...
Closes #2025
Closes #2026
Change-Id: I9f49127725b867b5fc9e9a852e6688e2c1d10b49
6 months ago
Harsh Daga
d45a29e3cd
MT#55283 adaptive jitter buffer
...
closes #2018
Change-Id: I94d4eb08e96fe33e149a03a647c6b13c814d7469
6 months ago
Richard Fuchs
15682312b7
MT#55283 convert extmap to iqueue
...
Change-Id: Ib2cd22fe5e004fadd30d44d91fd9ad344e4b9b74
6 months ago
Richard Fuchs
f68e614709
MT#55283 convert slp to iqueue
...
Change-Id: I7afc869810917f05a08d0147b225d3162720e430
6 months ago
Richard Fuchs
ef8967dafe
MT#55283 convert packets_out to iqueue
...
Change-Id: Iff72ab45cd3d4f6579180b5ed121a1779ee8285b
6 months ago
Richard Fuchs
914f6dfa1a
MT#55283 use intrusive list
...
Change-Id: I53c561dcc781f5cbd367ccb0df7b6900241f5e24
6 months ago
Richard Fuchs
4f5d013640
MT#55283 introduce socket use counter
...
Change-Id: I2468f4faedd195c9ea52d6ee6c99eabf37b7e73e
6 months ago
Richard Fuchs
23aa836800
MT#55283 fix missing MQTT SSRC stats
...
Change-Id: I3464f56263f783b7d81d4bdddfe56cd1fafa9ac3
6 months ago
Richard Fuchs
1fdf5cf2ea
MT#55283 add TCP keepalives for Redis connections
...
Change-Id: Id16f7f0f547f45cbef95bc98ede67a30f01cf3b9
6 months ago
Richard Fuchs
750f0a88bb
MT#55283 improve timeout handling
...
Only look at the recv side of recvonly/sendonly stream pairs by default,
and only consider the silent-timeout for calls that have no receive
streams at all.
Change-Id: I7773a6cc35733b0d27c8268f648a98e59fce9813
6 months ago
Richard Fuchs
6b785e77a2
MT#55283 make arg non null
...
Change-Id: Ia30ab70c0a520b6469146bdb60fcd112f56673b3
6 months ago
Richard Fuchs
b0d2b82199
MT#55283 replace g_atomic with atomic_*
...
Change-Id: Ia0729df4449e8bd4a2028d0373089e0fc9e1e042
6 months ago
Richard Fuchs
37813ddf86
MT#63317 rework port opening mechanics
...
Instead of opening local sockets directly during call setup, just create
the appropriate objects first, and then open the actual sockets in a
second step.
Move the opening step down, after the bundle logic has run. This way we
can avoid opening sockets that aren't needed.
Removes an intermediate step of obtaining consecutive ports.
Change-Id: Ib94c871ed6b3a433872afd23cb1aebbd9910b33e
7 months ago
Richard Fuchs
78c2e1e157
MT#55283 update return type
...
Change-Id: I76f16c3a04b1276ca04d25ea4a09f6f115f31d4b
7 months ago
Richard Fuchs
0ea27e9193
MT#63317 split apart ICE startup
...
Gather candidates in one step, and create candidate pairings against
local sockets in a second step.
Change-Id: I85bba7fe95af14d7f77a14d5baad4ea072a83bd3
7 months ago
Richard Fuchs
2ba7bd1041
MT#63317 fix possible booboo
...
Change-Id: I98926165e834eba01ef702eda1467521dca2b713
7 months ago
Richard Fuchs
e121a1e289
MT#63317 eliminate sockets shut down test
...
If we clear the sockets from the endpoint map during monologue shutdown,
we can guarantee that no sockets present in an endpoint map are ever
closed.
Change-Id: I4e3b6f39d51145fbfaebbe0bc412d8f001bbb053
7 months ago
Richard Fuchs
5b199f473f
MT#63317 use endpoint map as test for disabled
...
Change-Id: I425e33030c22119d459e3f58a2b00a64126b9e69
7 months ago
Richard Fuchs
0ebc75d229
MT#63317 rework endpoint_map hunting
...
Store the current (last) used endpoint map in the media object. This can
then be directly used when port latching is requested.
Remove and close sockets from endpoint map if fewer ports are needed.
Change-Id: I58aab82f82ecc3b0a7fc7a781394c8d77e715ecf
7 months ago
Richard Fuchs
0be3d106b8
MT#55283 close sockets on unsubscribe
...
closes #2010
Change-Id: I988f495e99e6eca39029958be5e504999085f1b2
7 months ago
Richard Fuchs
fbb61c2454
MT#63317 don't rekernelize when SSRC order changes
...
Change-Id: Iadecf3501d836d6f6e83f851a45fa8aa3afb2570
7 months ago
Richard Fuchs
ae603e7c3e
MT#63317 fix incorrect sorting of PTs
...
Change-Id: Ifd8264e8f39503feda8330d82888d0cc62418e92
7 months ago
Richard Fuchs
0eea0db4ef
MT#63317 amend and fix some logging
...
Change-Id: I7bacf207de52614e5ece4c8aa0243d5033b6cbfa
7 months ago
Richard Fuchs
26385f3056
MT#63317 fix missing filter length setting
...
Change-Id: I020c3fd1187569ca15f5fec16d97f171166ea24c
7 months ago
Richard Fuchs
9790ee9232
MT#63317 add strict bundle mode
...
Change-Id: Ic2076525b9e655cfb7d6fb665898018d29b87d5e
7 months ago
Richard Fuchs
213855143e
MT#63317 don't run DTLS on bundled media
...
Change-Id: Ie515920dabc57d9812933670d5c878cba820fec5
7 months ago
Richard Fuchs
6ce23df003
MT#63317 delay start of DTLS
...
Change-Id: I600d7523aacd6cef87d736a85550550146940826
7 months ago
Richard Fuchs
37cbac5fa7
MT#63317 share ICE context when bundling
...
Change-Id: Iee91f340b46241b30a9a0e6e5eefb268f380576f
7 months ago
Richard Fuchs
a3f5246bdb
MT#63317 separate ICE init from ICE start
...
Change-Id: Idf600bce7306b2e0f808b14c3b853fb93fd05d4a
7 months ago
Richard Fuchs
8317cc7071
MT#55283 reorder ICE candidate check
...
Run the check against ICE candidates not just for DTLS packets, but for
all received packets, except STUN which have authentication and are
needed to learn new ICE candidates.
Change-Id: I25df8fa6db4f828a68ba3b9e5cd35d2b56c0df08
7 months ago
Richard Fuchs
847d004319
MT#55283 revamp kernel shm strategy
...
Change-Id: I16f8b60317fc21b20a5cff5b0ba5b6026981fc6b
7 months ago
Richard Fuchs
cf278b447e
MT#55283 delete from Redis when call goes standby
...
Ref #2007
Change-Id: Id634da90d4fdc9da082af5874a6d46d9d4b05f26
7 months ago