Richard Fuchs
88f0483c4e
MT#55283 revamp calls_merge once again
...
Maybe this makes sense now
Change-Id: I94c668969aaffd3582d94f8872106f073bb939ba
2 weeks ago
Richard Fuchs
c70c8b44e4
MT#55283 move flags processing to new file
...
Change-Id: I9058f18573993f193a61b82d038b2d08af81856c
2 weeks ago
Richard Fuchs
af991ee58f
MT#55283 new "mix" flag
...
Change-Id: I4d1dfa2a38533707e9c0f080377c880fc3b678a5
3 weeks ago
Richard Fuchs
19c3a17dfa
MT#55283 support early-media for create-answer
...
Change-Id: Ic8ed944df6266d703319e11e90b150901e5093ef
3 weeks ago
Richard Fuchs
5b034e571b
MT#55283 support passing down codec information
...
Change-Id: I24907b1d315171d50df7cad14c887a36e5a3ad5f
3 weeks ago
Richard Fuchs
28ac65baf3
MT#55283 add new "implicit" audio player flag
...
Change-Id: I2c215917cba7a6f8b7afa70747db09f77eff1d39
3 weeks ago
Richard Fuchs
d2a42a2408
MT#55283 globalise check_codec_list
...
and add type safety
Change-Id: Id16caa3270a552c413284dc2a3866faad7725bd7
3 weeks ago
Richard Fuchs
679eaac570
MT#55283 move type declaration
...
Change-Id: Ie1f5619283f388293927604a27ee42a041224128
3 weeks ago
Richard Fuchs
19e2aa2ea4
MT#55283 extended "connect" matching
...
Change-Id: If751f1373fecf50e868ca76813ddd3d9e6423f82
4 weeks ago
Richard Fuchs
9491a81ec6
MT#55283 simplify call2_get
...
Change-Id: I92407ea9ed9ab794e22e00cfa43a61599d768f48
4 weeks ago
Richard Fuchs
a5d067f4cc
MT#55283 use medias_q instead of subscriptions
...
Change-Id: I7bb2bbc79b2da7fa7e7d9d4158de20e3afb9aa11
4 weeks ago
Richard Fuchs
ef817fccef
MT#55283 support individual unsubscribe action
...
Change-Id: Id4ea984ce8109b6a962edb52d0e81532bbfbd701
4 weeks ago
Richard Fuchs
320b293dd5
MT#55283 add "create" method
...
Change-Id: I626996028a6c5a9ee296efdeba8f301411b74ec7
4 weeks ago
Richard Fuchs
07c061380c
MT#55283 refactor c_s_synth
...
Change-Id: I971b7225eaef13df0880885462aa48d8ad82cedf
4 weeks ago
Richard Fuchs
c17a48d5e8
MT#55283 annotate functions & const qualify
...
Change-Id: I7b6a47c01765a8021bd811e311c9901f075d67c6
4 weeks ago
Richard Fuchs
e59ee48a06
MT#55283 update unsubscribed subs as well
...
Change-Id: I9d4e0c06186d97a8bf34ca8103ac2b628109d796
4 weeks ago
Richard Fuchs
fd48c1f126
MT#55283 move type definition
...
Change-Id: Ib5480e94e1d4b25bfb46029a80aa3bd91e323b2e
4 weeks ago
Richard Fuchs
0a9e85e8a3
MT#55283 refactor update_all functions
...
Change-Id: Ica0a9f5f76bf8edf194813e18d71437d6756280b
4 weeks ago
Richard Fuchs
12f935db9c
MT#55283 support bidirectional publish
...
Change-Id: I530dbe297e839560055da94911a73e7c14e08dc0
1 month ago
Richard Fuchs
d8915abc79
MT#55283 rename SDP origin fields
...
and integrate them into the main struct
Change-Id: Ie5c0ed8e98bce4e20c801ff0413ff3245b0c9792
1 month 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
1 month ago
Richard Fuchs
0f7774dbfa
MT#55283 set media label only for out direction
...
Change-Id: I316ebc34f51adf56d3df715c910e3102ab6e4a86
1 month 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
2 months ago
Richard Fuchs
b9c24cbf99
MT#55283 rename macro
...
Change-Id: I7ee697e3fb63226a304a1150c51ef2603294be80
2 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
2 months ago
Richard Fuchs
76d5e6d439
MT#55283 support from-tag aliases
...
Change-Id: Iffd87cc821e35d3d775a5bde1986c2d7dd0192ee
2 months ago
Richard Fuchs
8866c42078
MT#55283 extend arena strcpy/ref usage
...
Change-Id: I94488116f9dc46ea31b3d937df6813c323fef856
2 months ago
Richard Fuchs
5926aacf9b
MT#55283 combine identical HT types
...
Change-Id: I49b1a1952ede3b34442e9982c91f0218024259d8
2 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
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
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
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
cdba96c09d
MT#55283 switch subscriptions to intrusive list
...
Change-Id: I4b8839e4d23742f082cb02d4db239d2604d5585e
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
fe06c5c1ef
MT#55283 track usage of rtpp-flags parsing
...
Change-Id: I1db41e06e3765d4af382b42f976118f88962f503
3 months ago
Richard Fuchs
b1ac55c844
MT#55283 add str_dup_dup helper function
...
Change-Id: Ieacb147e3a98b5f31a8e45fb709df73636347cc0
3 months ago
Richard Fuchs
65b94a73a9
MT#55283 return success from add_stream
...
Change-Id: I0d507432993725085671ed19f7a98e69c23c84e3
3 months ago
Richard Fuchs
d813453a56
MT#55283 avoid implicit memcpy
...
Change-Id: I282c922b7866d5c7d837205ba9f91166a00e21aa
3 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
645b5e1319
MT#55283 return flexible error strings
...
Change-Id: I0d6dee21901f85be1bfffaabe9c94e66073b99ba
4 months ago
Richard Fuchs
b9d1509244
MT#55283 rename module
...
Change-Id: I81f5370655af00d3a99593eb17cb1d62d961370c
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
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
d279b14a99
MT#55283 export poller thread stats
...
Change-Id: I5b8b2e6c791d27a1d29e982c72005aff38e7cd6d
5 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