Richard Fuchs
88f0483c4e
MT#55283 revamp calls_merge once again
...
Maybe this makes sense now
Change-Id: I94c668969aaffd3582d94f8872106f073bb939ba
5 months ago
Richard Fuchs
c70c8b44e4
MT#55283 move flags processing to new file
...
Change-Id: I9058f18573993f193a61b82d038b2d08af81856c
5 months ago
Richard Fuchs
af991ee58f
MT#55283 new "mix" flag
...
Change-Id: I4d1dfa2a38533707e9c0f080377c880fc3b678a5
5 months ago
Richard Fuchs
19c3a17dfa
MT#55283 support early-media for create-answer
...
Change-Id: Ic8ed944df6266d703319e11e90b150901e5093ef
5 months ago
Richard Fuchs
5b034e571b
MT#55283 support passing down codec information
...
Change-Id: I24907b1d315171d50df7cad14c887a36e5a3ad5f
5 months ago
Richard Fuchs
28ac65baf3
MT#55283 add new "implicit" audio player flag
...
Change-Id: I2c215917cba7a6f8b7afa70747db09f77eff1d39
5 months ago
Richard Fuchs
d2a42a2408
MT#55283 globalise check_codec_list
...
and add type safety
Change-Id: Id16caa3270a552c413284dc2a3866faad7725bd7
5 months ago
Richard Fuchs
679eaac570
MT#55283 move type declaration
...
Change-Id: Ie1f5619283f388293927604a27ee42a041224128
5 months ago
Richard Fuchs
19e2aa2ea4
MT#55283 extended "connect" matching
...
Change-Id: If751f1373fecf50e868ca76813ddd3d9e6423f82
5 months ago
Richard Fuchs
9491a81ec6
MT#55283 simplify call2_get
...
Change-Id: I92407ea9ed9ab794e22e00cfa43a61599d768f48
5 months ago
Richard Fuchs
a5d067f4cc
MT#55283 use medias_q instead of subscriptions
...
Change-Id: I7bb2bbc79b2da7fa7e7d9d4158de20e3afb9aa11
5 months ago
Richard Fuchs
ef817fccef
MT#55283 support individual unsubscribe action
...
Change-Id: Id4ea984ce8109b6a962edb52d0e81532bbfbd701
6 months ago
Richard Fuchs
320b293dd5
MT#55283 add "create" method
...
Change-Id: I626996028a6c5a9ee296efdeba8f301411b74ec7
6 months ago
Richard Fuchs
07c061380c
MT#55283 refactor c_s_synth
...
Change-Id: I971b7225eaef13df0880885462aa48d8ad82cedf
6 months ago
Richard Fuchs
c17a48d5e8
MT#55283 annotate functions & const qualify
...
Change-Id: I7b6a47c01765a8021bd811e311c9901f075d67c6
6 months ago
Richard Fuchs
e59ee48a06
MT#55283 update unsubscribed subs as well
...
Change-Id: I9d4e0c06186d97a8bf34ca8103ac2b628109d796
6 months ago
Richard Fuchs
fd48c1f126
MT#55283 move type definition
...
Change-Id: Ib5480e94e1d4b25bfb46029a80aa3bd91e323b2e
6 months ago
Richard Fuchs
0a9e85e8a3
MT#55283 refactor update_all functions
...
Change-Id: Ica0a9f5f76bf8edf194813e18d71437d6756280b
6 months ago
Richard Fuchs
12f935db9c
MT#55283 support bidirectional publish
...
Change-Id: I530dbe297e839560055da94911a73e7c14e08dc0
6 months ago
Richard Fuchs
d8915abc79
MT#55283 rename SDP origin fields
...
and integrate them into the main struct
Change-Id: Ie5c0ed8e98bce4e20c801ff0413ff3245b0c9792
6 months ago
Richard Fuchs
9a65ab0335
MT#55283 parse a=label
...
This is needed to correctly print media labels for SIPREC in case the
input SDPs already had media labels.
Change-Id: I021f44ba28a3648ceb62db12425ddf545de42a96
6 months ago
Richard Fuchs
0f7774dbfa
MT#55283 set media label only for out direction
...
Change-Id: I316ebc34f51adf56d3df715c910e3102ab6e4a86
6 months ago
Richard Fuchs
c27ecf4828
MT#55283 facilitate media reuse for updated subs
...
For a repeated subscribe-request on an existing monologue, make sure
that existing media sections are re-used for the same subscriptions as
they were previously, and only create new ones in an append-only fashion
for media subs which didn't previously exist.
Change-Id: I410c6af17eb31a5c5c43c78a7f82ba867f8480b7
6 months ago
Richard Fuchs
b9c24cbf99
MT#55283 rename macro
...
Change-Id: I7ee697e3fb63226a304a1150c51ef2603294be80
6 months ago
Nikolay Feshenko
352bda7035
MT#55283 add inject start/stop commands for one-way audio injection
...
New NG protocol commands that mix audio from a source participant
into a destination participant's stream without a full offer/answer
exchange.
- inject start: creates one-way subscription with audio_player mixing
- inject stop: removes injection and restores original codec routing
- Supports cross-call injection via source-call-id (merges calls internally)
- inject attribute persisted through Redis for HA failover
- Audio-only; matches media by media-id, index, then type fallback
Closes #2082
Change-Id: Ib88113b021a4b76bf98892eb1af60c0b36c0d6d3
6 months ago
Richard Fuchs
76d5e6d439
MT#55283 support from-tag aliases
...
Change-Id: Iffd87cc821e35d3d775a5bde1986c2d7dd0192ee
6 months ago
Richard Fuchs
8866c42078
MT#55283 extend arena strcpy/ref usage
...
Change-Id: I94488116f9dc46ea31b3d937df6813c323fef856
7 months ago
Richard Fuchs
5926aacf9b
MT#55283 combine identical HT types
...
Change-Id: I49b1a1952ede3b34442e9982c91f0218024259d8
7 months ago
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
7 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
7 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
7 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
7 months ago
Richard Fuchs
cdba96c09d
MT#55283 switch subscriptions to intrusive list
...
Change-Id: I4b8839e4d23742f082cb02d4db239d2604d5585e
7 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
7 months ago
Richard Fuchs
fe06c5c1ef
MT#55283 track usage of rtpp-flags parsing
...
Change-Id: I1db41e06e3765d4af382b42f976118f88962f503
7 months ago
Richard Fuchs
b1ac55c844
MT#55283 add str_dup_dup helper function
...
Change-Id: Ieacb147e3a98b5f31a8e45fb709df73636347cc0
8 months ago
Richard Fuchs
65b94a73a9
MT#55283 return success from add_stream
...
Change-Id: I0d507432993725085671ed19f7a98e69c23c84e3
8 months ago
Richard Fuchs
d813453a56
MT#55283 avoid implicit memcpy
...
Change-Id: I282c922b7866d5c7d837205ba9f91166a00e21aa
8 months ago
Richard Fuchs
c82d9ff2e6
MT#55283 update return type
...
Change-Id: Ia4fc6e186a9cb0ca6cee9ecd53118362233b1f09
8 months ago
Richard Fuchs
8b4219f739
MT#55283 introduce stream_fd lock
...
Required to avoid races over the "kernelized" flag
Change-Id: I316cc82d57a51e8778be4562a46a262804a7197f
8 months ago
Richard Fuchs
645b5e1319
MT#55283 return flexible error strings
...
Change-Id: I0d6dee21901f85be1bfffaabe9c94e66073b99ba
9 months ago
Richard Fuchs
b9d1509244
MT#55283 rename module
...
Change-Id: I81f5370655af00d3a99593eb17cb1d62d961370c
9 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
9 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
9 months ago
Richard Fuchs
d279b14a99
MT#55283 export poller thread stats
...
Change-Id: I5b8b2e6c791d27a1d29e982c72005aff38e7cd6d
10 months ago
Harsh Daga
d45a29e3cd
MT#55283 adaptive jitter buffer
...
closes #2018
Change-Id: I94d4eb08e96fe33e149a03a647c6b13c814d7469
10 months ago
Richard Fuchs
15682312b7
MT#55283 convert extmap to iqueue
...
Change-Id: Ib2cd22fe5e004fadd30d44d91fd9ad344e4b9b74
10 months ago
Richard Fuchs
f68e614709
MT#55283 convert slp to iqueue
...
Change-Id: I7afc869810917f05a08d0147b225d3162720e430
10 months ago
Richard Fuchs
ef8967dafe
MT#55283 convert packets_out to iqueue
...
Change-Id: Iff72ab45cd3d4f6579180b5ed121a1779ee8285b
10 months ago
Richard Fuchs
914f6dfa1a
MT#55283 use intrusive list
...
Change-Id: I53c561dcc781f5cbd367ccb0df7b6900241f5e24
10 months ago
Richard Fuchs
4f5d013640
MT#55283 introduce socket use counter
...
Change-Id: I2468f4faedd195c9ea52d6ee6c99eabf37b7e73e
10 months ago
Richard Fuchs
1fdf5cf2ea
MT#55283 add TCP keepalives for Redis connections
...
Change-Id: Id16f7f0f547f45cbef95bc98ede67a30f01cf3b9
10 months ago
Richard Fuchs
6b785e77a2
MT#55283 make arg non null
...
Change-Id: Ia30ab70c0a520b6469146bdb60fcd112f56673b3
11 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
11 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
11 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
11 months ago
Richard Fuchs
ec61501298
MT#63317 amend WebRTC flag with BUNDLE option
...
Change-Id: I01eaa8a9e23a72e98be70091706ef367285ae08d
11 months ago
Richard Fuchs
a3f5246bdb
MT#63317 separate ICE init from ICE start
...
Change-Id: Idf600bce7306b2e0f808b14c3b853fb93fd05d4a
11 months ago
Richard Fuchs
e1cfefc07e
MT#55283 disable kernel RTCP FW if filtering
...
Change-Id: I9488b444d413d227153b2e73a3efe2facce98d26
12 months ago
Richard Fuchs
4aa3641cad
MT#63317 avoid mismatched extmap IDs
...
Change-Id: I7489ebaf9dbcb4ebb0c0bf469872433c25a0acb4
1 year ago
Richard Fuchs
429c7b5c71
MT#63317 support bundle offer
...
Change-Id: Ibb271535c38654c4fa4d52026d6a4ce41535e3cb
1 year ago
Richard Fuchs
44deb79faa
MT#63317 remove unused hash table
...
Not needed as it turns out
Change-Id: I5236d32b6a0a6c0d51e3e0e9445dd5efeca73536
1 year ago
Richard Fuchs
4c78949654
MT#63317 associate SSRC with media
...
Change-Id: I0fba8f0a2c98c4b80b1688c85768efdf4410abe8
1 year ago
Richard Fuchs
cc48a89c41
MT#63317 set correct output media w bundle
...
Change-Id: I8e4e2514a6f779d9fcedfe1593b228d336cf5c2a
1 year ago
Richard Fuchs
3b0496979a
MT#63317 extmap parsing in kernel
...
Change-Id: I2d4b0f0ba08d0dd793bd4e9716731dfe96ee155a
1 year ago
Richard Fuchs
7ce5b7660e
MT#63317 typedef for kernelize_state
...
Change-Id: I1b712ccc049b13bc6e1aef41ef2cd13dafddc99d
1 year ago
Richard Fuchs
8cf038e4fa
MT#63317 rework kernel output grouping
...
Change-Id: I3e798e5f1e5ae2f4af247819e3d323cdbf56b36b
1 year ago
Richard Fuchs
78f9c0147a
MT#63317 generalise functions
...
Change-Id: I4ed802c755b6faab0fcba311b7b1fe617e2dd669
1 year ago
Richard Fuchs
12f69abbc3
MT#63317 share ports/sockets among bundle groups
...
Change-Id: I951f3690e7b795fdc08f0e37a1efb48a1a2630ca
1 year ago
Richard Fuchs
871c4c0579
MT#63317 support BUNDLE flags
...
Change-Id: Iddc7f5b8394cdd2c2543775163f8867a1d88b14a
1 year ago
Richard Fuchs
3ef034a675
MT#63317 track extensions by known ID
...
Change-Id: I17f20bc8be60d779d1a3d18616bb518062f74e6b
1 year ago
Richard Fuchs
774834d0c7
MT#63317 set media from RTP ext
...
Change-Id: Id71e219a57decd409f4e8a7620c9809c9b577ae7
1 year ago
Richard Fuchs
bc779d0913
MT#63317 PT tracking
...
Change-Id: Ic354f62cef4cb37e3d65648a2f953cf9995e60b2
1 year ago
Richard Fuchs
1f91ce4c37
MT#63317 support bundle groups
...
Change-Id: Iff961283f77986c6df7147149e058286fbc91ca6
1 year ago
Richard Fuchs
16780ac17d
MT#63317 support multiple a=group attrs
...
Change-Id: Icb2c00e1ca46fafbc8862fe6b9cf2aae4a62fbfa
1 year ago
Richard Fuchs
5853dcb41b
MT#63317 move confirmed/kernel flags to stream_fd
...
The key for an in-kernel stream is a local port, so it is really the
socket (port) that gets pushed into the kernel, not the packet_stream.
Similar to the "confirmed" state, as we expect each socket to only have
one peer address/port.
Change-Id: I34fef771cd8b01701196ffb77e17fcd229c86550
1 year ago
Richard Fuchs
de6e8e3763
MT#55283 use embedded array
...
Change-Id: I85330fb38b041d83a93e3c329cc3fc592290fdf3
1 year ago
Richard Fuchs
61103a2ac5
MT#63317 remove unused struct member
...
Change-Id: I2e0fa7ad49e8e0280bc2c7b1b305fcc7d6c8c5e8
1 year ago
Richard Fuchs
1b05cb043e
MT#63317 support ext filter in kernel
...
Change-Id: Ic98dde266c7707dd3350d651032d989511ee3bee
1 year ago
Richard Fuchs
ab8c7a82cb
MT#63317 support sending mixed rtpext
...
Change-Id: Ic504cfd9dea09eeccfc07e524aad14f87ca72692
1 year ago
Richard Fuchs
a87889b35a
MT#63317 initial support for allow-mixed
...
Adapt affected tests
Change-Id: I2a5dc1249a9a7dbab20b6022e20572a36d9520a9
1 year ago
Richard Fuchs
f934f7737d
MT#63317 support long form extension printing
...
Change-Id: Ib1f1d51dcf6ac0c74fdeb92311bd04d72bf7e7c2
1 year ago
Richard Fuchs
5c03188d5b
MT#63317 abstract extmap printing
...
Change-Id: Ia1d8622a1c5ccf358ee573fb8747f3129dc790e8
1 year ago
Richard Fuchs
57bc6b1e95
MT#63317 abstract packet copy
...
Change-Id: I0ea082a4fad138c25cd710dd82020d4f4d192485
1 year ago
Richard Fuchs
8828b176c8
MT#63317 introduce extmap_ops abstraction
...
Change-Id: Icffa6f618270d2e7c10695bf1bade00ad8a49894
1 year ago
Richard Fuchs
4fbef39425
MT#63317 add rtpext printing abstraction
...
Change-Id: I50b4bc3feef4445ccd87f4296504ec196bb8083a
1 year ago
Richard Fuchs
c216b51260
MT#63317 parse out extensions
...
Change-Id: I33965782836782790e6b0872b97818717f2b9949
1 year ago
Richard Fuchs
dba2386c60
MT#63317 support extmap-mask
...
Change-Id: Ib8ca6d4ada4a0bc1e67f5c02522eb9fe7f6ba2ce
1 year ago
Richard Fuchs
b98e14631d
MT#63317 update marker flags to bool
...
Use a struct to pass marker flags to functions
Change-Id: I05b0fe0f9f37e9ff3675f59c7cb98abda3cfe300
1 year ago
Richard Fuchs
b2721c5abc
MT#63317 update payload lengths to size_t
...
Change-Id: Ib00570198103f93416c1b639777e30755a93646c
1 year ago
Richard Fuchs
42f7e40545
MT#63317 support extmap-strip for SDP
...
Change-Id: Iaa38fa3c24d69abbfdb8f0e457d406ccf0c6d5bd
1 year ago
Richard Fuchs
3de7902087
MT#63317 add sink_handler to media_player
...
Change-Id: I78bb3d486db6df24a556b68686ecd96c6b13a3ee
1 year ago
Richard Fuchs
82f5158775
MT#63317 add sink_handler_set_generic
...
Change-Id: Ibef8d6a6b3c868c2b4f844c3bf1e095be23cae30
1 year ago
Richard Fuchs
acb0e47a1a
MT#63317 rename determine_sink_handler
...
and annotate some functions
Change-Id: I26cfe17f9bb93c1cc87b8365b3eed10fc03956f4
1 year ago
Richard Fuchs
d5c1fa418e
MT#63317 keep rtpext names in table
...
Change-Id: I9a2904ff22dc6235c2bfa8f4af5bd72f49ba37fe
1 year ago
Richard Fuchs
64d3c7646c
MT#63317 parse out RTP header extensions
...
Stub function for now.
Change-Id: I7ad2a203f42fb118e50273a57772cac4fbd1738f
1 year ago
Richard Fuchs
c525cb9e09
MT#63317 remove duplicate header parsing
...
Pass down RTP/RTCP header to crypto functions so that they don't need to
parse it out again.
Change-Id: I551ab6a668cc99c903cde8807f6f9c10fc0cf6d5
1 year ago
Richard Fuchs
35bcdd5570
MT#63317 keep extmap in tables
...
Change-Id: I540c7d325488c3015b72901ab0d9f25c3e913ea1
1 year ago
Richard Fuchs
fc9cb21d8a
MT#63317 store extmap entries in media object
...
Change-Id: Ia673ae3049f5c6ce8dd8516b5becc0a9322559d8
1 year ago
Richard Fuchs
eddff91357
MT#63317 annotate rtcp_payload
...
Change-Id: I2a08441c0c7e262d3d7a43e8fabc0a5766de7c7f
1 year ago