Richard Fuchs
b121f38d97
MT#55283 refactor c_s_transcode
...
Change-Id: Ic12ec003b3bbe0ccd975ddb80cc5fea29ad68dd1
4 weeks ago
Richard Fuchs
dd3b4eae7f
MT#55283 handle possible null
...
Change-Id: Id643455c7440a954ce70c138f58eca244fc40849
4 weeks ago
Richard Fuchs
b83f520cff
MT#55283 add alternative spellings
...
Change-Id: I665dd59370019d8597f7d552d4d9d5bdf00753b6
4 weeks ago
Richard Fuchs
07c061380c
MT#55283 refactor c_s_synth
...
Change-Id: I971b7225eaef13df0880885462aa48d8ad82cedf
4 weeks ago
Richard Fuchs
14dde79ec6
MT#55283 better tolerate flags parsing
...
Change-Id: I75164ebc7de77b81182c22c2ada6a40e356a089b
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
f6a5087f63
MT#55283 fuller sub update
...
Update all linked subscribers, not just the ones involved in the
connect, as they might also need to have their handlers updated.
Change-Id: Ib7a8aa3ca0d0f986bb90a99bf1337b358e96be33
4 weeks ago
Richard Fuchs
b157683945
MT#55283 move enabling of audio player
...
Change-Id: I24a0064a38548eeb94612b4096a058448810a339
4 weeks ago
Richard Fuchs
0a9e85e8a3
MT#55283 refactor update_all functions
...
Change-Id: Ica0a9f5f76bf8edf194813e18d71437d6756280b
4 weeks ago
Richard Fuchs
59432f0954
MT#55283 add aliases to output
...
Change-Id: I786b9448a8a9c2a18f9f309f46a90ed5ba68e284
4 weeks ago
Richard Fuchs
62ac250383
MT#55283 remove privacy markers from CLI
...
Change-Id: I6759901a3a5a5a885335e0b79a02d869c73cf921
4 weeks ago
Richard Fuchs
3536c4ab1f
MT#55283 support anonymous publish
...
Change-Id: Id68643ec4fc1520be1a266c4c9315fc07b6c8815
4 weeks ago
Richard Fuchs
502e0b791f
MT#55283 improve asymmetric codec logic
...
Instead of always blindly picking the matching supp codec for the
receiver codec, pick it only if there is no appropriate sink supp codec,
or both are compatible (which implies a payload type mismatch).
Closes #2084
Change-Id: Ie401db500a038f60f3b4286e2067f90674c611df
1 month ago
Richard Fuchs
e519ef492e
MT#55283 add missing lock for subscribe streams
...
Closes #2075
Change-Id: I17adc7c62ca22885b41064f155e7d842d51b48d8
1 month ago
Sean Ferguson
b916bdc257
MT#55283 Fix recording-file parameter ignores for pcap recording method
...
Closes #2087
Change-Id: Ib25aeabecfcad78578f3d98162a4418c243a8dbe
1 month ago
Sean Ferguson
ff07591b37
MT#55283 Fix segfault in play media with record-egress enabled
...
Closes #2086
Change-Id: Iad7b7297b2b24a76ca60f81393d6215c92dff612
1 month ago
Richard Fuchs
12f935db9c
MT#55283 support bidirectional publish
...
Change-Id: I530dbe297e839560055da94911a73e7c14e08dc0
1 month ago
Richard Fuchs
52b19f400b
MT#55283 decouple SDP origin settings
...
Move o= replacement logic into sdp_out_add_origin. Copy fields from
input source ML if present, or keep unchanged. Generate if not present.
Change-Id: Ieea5abea05bf076262248639118e9e9192f77e1c
1 month ago
Richard Fuchs
e948e5a976
MT#55283 move setting sdp_orig_out
...
Change-Id: Idb78bab83fb6d667a30a1683ae456d080b11f84f
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
b7dbc4be72
MT#55283 rework info printing for sub-req
...
Print information that directly matches the medias presented in the
output SDP.
Change-Id: Ib831f173c07923564158e3473f137cf867dca9bb
1 month ago
Richard Fuchs
db1307da8f
MT#55283 fix incorrect substituted RPC URL
...
The `created_from` address string includes the port, which must be
removed when substituting it for the RPC URL.
Fix-up for Ib67b57b1d
Change-Id: Iaa33ec660d21736f8b075f36479ba2734a480a4a
2 months ago
Richard Fuchs
c2f71fa597
MT#55283 add RPC URL to logging
...
Change-Id: I4ddb4f25793cf20a2b3edca146aee4a9d5ff54e4
2 months ago
Richard Fuchs
d2f729154d
MT#55283 honour RPC callback also for final t/out
...
Change-Id: Ib1549fcf6c4d8f955a5339462534700d59f63996
2 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
2 months ago
Richard Fuchs
6a7cba0aa2
MT#55283 simplify macro
...
Change-Id: I6c603930562944040b237612fb21b9a888f63183
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
2ab345ccd5
MT#55283 move call components into arena
...
Change-Id: I1b335fb8c13a3cddc38af3abec7a075002c5a8c1
2 months ago
Richard Fuchs
5926aacf9b
MT#55283 combine identical HT types
...
Change-Id: I49b1a1952ede3b34442e9982c91f0218024259d8
2 months ago
Richard Fuchs
1f7d9e5bc9
MT#55283 improvements for clang
...
Change-Id: I7b817c94f34333e1e95199dce9619a1570de7964
2 months ago
Richard Fuchs
cb3edfb996
MT#55283 modernise t_hash_table_iter
...
Change-Id: Ie7e6e794f6b2cd2905f154aecbc92c9681fd535a
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
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
3 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