Richard Fuchs
b9d1509244
MT#55283 rename module
Change-Id: I81f5370655af00d3a99593eb17cb1d62d961370c
2 weeks 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
2 weeks ago
Richard Fuchs
0b94847eae
MT#55283 local var for shorter code
Change-Id: I1e8bb980a23402c1b3f5b2dc1d1a412a960a02e6
3 weeks ago
Richard Fuchs
15682312b7
MT#55283 convert extmap to iqueue
Change-Id: Ib2cd22fe5e004fadd30d44d91fd9ad344e4b9b74
1 month ago
Richard Fuchs
f68e614709
MT#55283 convert slp to iqueue
Change-Id: I7afc869810917f05a08d0147b225d3162720e430
1 month ago
Richard Fuchs
ef8967dafe
MT#55283 convert packets_out to iqueue
Change-Id: Iff72ab45cd3d4f6579180b5ed121a1779ee8285b
1 month ago
Richard Fuchs
914f6dfa1a
MT#55283 use intrusive list
Change-Id: I53c561dcc781f5cbd367ccb0df7b6900241f5e24
2 months ago
Richard Fuchs
4f5d013640
MT#55283 introduce socket use counter
Change-Id: I2468f4faedd195c9ea52d6ee6c99eabf37b7e73e
2 months ago
Richard Fuchs
6b785e77a2
MT#55283 make arg non null
Change-Id: Ia30ab70c0a520b6469146bdb60fcd112f56673b3
2 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
2 months ago
Richard Fuchs
fbb61c2454
MT#63317 don't rekernelize when SSRC order changes
Change-Id: Iadecf3501d836d6f6e83f851a45fa8aa3afb2570
2 months ago
Richard Fuchs
ae603e7c3e
MT#63317 fix incorrect sorting of PTs
Change-Id: Ifd8264e8f39503feda8330d82888d0cc62418e92
2 months ago
Richard Fuchs
0eea0db4ef
MT#63317 amend and fix some logging
Change-Id: I7bacf207de52614e5ece4c8aa0243d5033b6cbfa
2 months ago
Richard Fuchs
26385f3056
MT#63317 fix missing filter length setting
Change-Id: I020c3fd1187569ca15f5fec16d97f171166ea24c
2 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
3 months ago
Richard Fuchs
b018e64463
MT#63317 fix typo
Change-Id: I34359f41877819c031b927828cdf2d8d512c5f58
Warned-by: Coverity
3 months ago
Richard Fuchs
e1cfefc07e
MT#55283 disable kernel RTCP FW if filtering
Change-Id: I9488b444d413d227153b2e73a3efe2facce98d26
3 months ago
Richard Fuchs
40d45821fc
MT#63317 use correct bundle sink for kernel
Change-Id: If3cbe6477a2d951fd8d2aabe121e356a48de0384
3 months ago
Richard Fuchs
4aa3641cad
MT#63317 avoid mismatched extmap IDs
Change-Id: I7489ebaf9dbcb4ebb0c0bf469872433c25a0acb4
3 months ago
Richard Fuchs
d78064344a
MT#63317 add SSRC mapping to kernel
Change-Id: If3af2ff872be340be57a2c53c35fcf2d83af6587
3 months ago
Richard Fuchs
4c78949654
MT#63317 associate SSRC with media
Change-Id: I0fba8f0a2c98c4b80b1688c85768efdf4410abe8
3 months ago
Richard Fuchs
cc48a89c41
MT#63317 set correct output media w bundle
Change-Id: I8e4e2514a6f779d9fcedfe1593b228d336cf5c2a
3 months ago
Richard Fuchs
ffd362cbf4
MT#63317 allow alternative endpoints
for strict-source + bundle
Change-Id: Ic13a9a7fe45b671eff12473c70233c2d05ace371
3 months ago
Richard Fuchs
bc185e6f0f
MT#63317 rework endpoint matching a bit
Change-Id: If0c58f72822a45e5fb89a248a01b9a401592ec30
3 months ago
Richard Fuchs
3b0496979a
MT#63317 extmap parsing in kernel
Change-Id: I2d4b0f0ba08d0dd793bd4e9716731dfe96ee155a
3 months ago
Richard Fuchs
607866ed13
MT#63317 send bundle media to kernel
Change-Id: I80779dc0eec5004e9ac8ceb4ca2d8c0206513fff
3 months ago
Richard Fuchs
c2aa97466f
MT#63317 separate out stream/media/sink setting
Change-Id: I19abcefb385eca5de21e5fe8e9ada0e868fc0ed3
3 months ago
Richard Fuchs
7ce5b7660e
MT#63317 typedef for kernelize_state
Change-Id: I1b712ccc049b13bc6e1aef41ef2cd13dafddc99d
3 months ago
Richard Fuchs
8cf038e4fa
MT#63317 rework kernel output grouping
Change-Id: I3e798e5f1e5ae2f4af247819e3d323cdbf56b36b
3 months ago
Richard Fuchs
07a046a257
MT#63317 push MID ext to kernel
Change-Id: I646174e14e51078458324cc5fe8a614aee7a2893
3 months ago
Richard Fuchs
4ea2867d55
MT#63317 support generating MID RTP extension
Change-Id: I98c7dd0893562153a0230f976090ea0e31887d38
3 months ago
Richard Fuchs
78f9c0147a
MT#63317 generalise functions
Change-Id: I4ed802c755b6faab0fcba311b7b1fe617e2dd669
3 months ago
Richard Fuchs
774834d0c7
MT#63317 set media from RTP ext
Change-Id: Id71e219a57decd409f4e8a7620c9809c9b577ae7
5 months ago
Richard Fuchs
e4f1717c7e
MT#63317 set media/stream from PT
Change-Id: Idf200efbe940cb1d4d6fc109820af37f08e49675
4 months 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
3 months ago
Richard Fuchs
09ed1d3c20
MT#55283 store RTCP payload in phc
Fixes regression from c525cb9e0
Change-Id: I58ebeab42e833ca01dce028ab227a1ca10d43353
3 months ago
Richard Fuchs
de6e8e3763
MT#55283 use embedded array
Change-Id: I85330fb38b041d83a93e3c329cc3fc592290fdf3
3 months ago
Richard Fuchs
61103a2ac5
MT#63317 remove unused struct member
Change-Id: I2e0fa7ad49e8e0280bc2c7b1b305fcc7d6c8c5e8
3 months ago
Richard Fuchs
29886ae555
MT#55283 fix old gcc error p2
Change-Id: I8b4c82c4fd0b03b8339c8f0d014d9d2f095b2bf8
3 months ago
Richard Fuchs
1b05cb043e
MT#63317 support ext filter in kernel
Change-Id: Ic98dde266c7707dd3350d651032d989511ee3bee
3 months ago
Richard Fuchs
ab8c7a82cb
MT#63317 support sending mixed rtpext
Change-Id: Ic504cfd9dea09eeccfc07e524aad14f87ca72692
3 months ago
Richard Fuchs
af4ca41edb
MT#63317 support filtering of extensions
Change-Id: Iac4fa87b89dc7d011115d149f8cfd4c74cd1ca7a
3 months ago
Richard Fuchs
f934f7737d
MT#63317 support long form extension printing
Change-Id: Ib1f1d51dcf6ac0c74fdeb92311bd04d72bf7e7c2
3 months ago
Richard Fuchs
e046eecb96
MT#63317 print extensions from list
Change-Id: Iec3824adb461264ea67f937258ba592f2fd82209
4 months ago
Richard Fuchs
5c03188d5b
MT#63317 abstract extmap printing
Change-Id: Ia1d8622a1c5ccf358ee573fb8747f3129dc790e8
3 months ago
Richard Fuchs
57bc6b1e95
MT#63317 abstract packet copy
Change-Id: I0ea082a4fad138c25cd710dd82020d4f4d192485
4 months ago
Richard Fuchs
8828b176c8
MT#63317 introduce extmap_ops abstraction
Change-Id: Icffa6f618270d2e7c10695bf1bade00ad8a49894
3 months ago
Richard Fuchs
4fbef39425
MT#63317 add rtpext printing abstraction
Change-Id: I50b4bc3feef4445ccd87f4296504ec196bb8083a
4 months ago
Richard Fuchs
d2cfc5ec98
MT#63317 move down sink setting
Change-Id: I6e61153b3ec7103d18761d9a1278d7697aedf9bf
4 months ago
Richard Fuchs
c216b51260
MT#63317 parse out extensions
Change-Id: I33965782836782790e6b0872b97818717f2b9949
4 months ago