Commit Graph

737 Commits

Author SHA1 Message Date
Jakub Karolczyk 5656972bfe [core,miniupnpc,modules] Fix not used variables 2023-07-04 10:18:16 +01:00
Dragos Oancea 5e914efc8c [core, mod_opus] bring more fmtp params to core (offer/answer). 2023-06-15 16:26:17 +03:00
Dragos Oancea f90aeade4f [core] Opus RTP timestamp: adding an exception on RTP session creation.
https://www.rfc-editor.org/rfc/rfc7587.html
"The RTP timestamp is incremented with a 48000 Hz
   clock rate for all modes of Opus and all sampling rates.  The unit
   for the timestamp is samples per single (mono) channel"

Follow up: 50f57f85732b0d5a58a39f3fca7b654f894b0c9d, ccbef9e0c7 .
2023-06-15 16:25:46 +03:00
Andrey Volk b4e43214f7 [Core] Fix possible deadlock in switch_core_media_set_codec() 2023-06-12 17:47:02 +03:00
Jakub Karolczyk b0a52eb1fe [core] Add switch_core_media_get_engine() and switch_core_media_get_codec() functions 2023-06-09 18:25:25 +00:00
Dragos Oancea 73ea37c5ab
[Core] Coverity fixes
* [core] coverity CID 1320751 (Dereference before null check)

* [core] coverity CID 1294546 (Unchecked return value)

* [core] coverity CID 1227661 (Logically dead code)

* [core] coverity CID 1227656 (Logically dead code)

* [core] coverity CID 1060948 (Explicit null dereferenced)

* [core] coverity CID 1346465 (Unchecked return value)

* [core] coverity CID 1364953 (Logically dead code)

* [core] coverity CID 1468210 (Dereference before null check)

* [core] coverity CID 1468546 (Dereference before null check)

* [core] coverity CID 1468342 (Dereference before null check)
2023-04-05 18:54:11 +03:00
Dragos Oancea 48b8b0c4d7
[Core] Coverity fixes
* [core] coverity CID 1395504 (Logically dead code)

* [core] coverity CID 1395581 (Dereference before null check)

* [core] coverity CID 1346451 (Improper use of negative value)

* [core] coverity CID 1395497 (Dereference before null check)

* [core] coverity CID 1468458 (Dereference before null check)
2023-03-29 19:08:18 +03:00
Dragos Oancea 8e59603d98 [core][mod_sofia] remove ZRTP (deemed obsolete).
[unit-tests][build-system][docs] remove references to ZRTP.
2022-10-28 20:19:42 +03:00
Andrey Volk 56b6e954cf [Core] Fix dead nested assignments 2022-08-09 23:29:31 +03:00
Dragos Oancea beffab1d68 [core] RTP: a media timeout fix + add pcap based-unit tests. 2022-06-29 18:20:27 +03:00
prabhugithubme 4886383e32
[Core] Fix switch_core_media_patch_sdp parsing m=text wrongly 2022-04-07 15:22:25 +03:00
Dragos Oancea 30d5d58e6e [core] fix set rtp flag for rtcp events after flags zeroed out. 2022-03-29 15:07:50 +03:00
Dragos Oancea df81021a11 [core] make switch_core_media_prepare_codecs() more unit-test friendly. 2022-03-21 13:59:37 +03:00
Michael Jerris 6c87ed4915 [Core] RFC 3264 says once we assign a payload number to a dynamic codec, we are stuck with it.
8.3.1 Modifying Address, Port or Transport

   The port number for a stream MAY be changed.  To do this, the offerer
   creates a new media description, with the port number in the m line
   different from the corresponding stream in the previous SDP.  If only
   the port number is to be changed, the rest of the media stream
   description SHOULD remain unchanged.  The offerer MUST be prepared to
   receive media on both the old and new ports as soon as the offer is
   sent.  The offerer SHOULD NOT cease listening for media on the old
   port until the answer is received and media arrives on the new port.
   Doing so could result in loss of media during the transition.

Co-authored-by: Anthony Minessale <anthm@signalwire.com>
2021-12-17 23:56:43 +03:00
Andrey Volk fbf2da44d9 [Core] Fix use of private headers. 2021-11-10 21:46:29 +03:00
Andrey Volk f0e42fe8db [Core] Implement NDLB_line_flash_16 channel variable. Set to true to enable deprecated 0-16 back (rfc4733) 2021-10-23 22:00:57 +03:00
Andrey Volk 8a2ad233d6 [Core] Do not generate SDP media Descriptions with RTP/SAVP transport protocol when no crypto attribute. 2021-10-23 22:00:54 +03:00
Andrey Volk f2bb1aba66 [Core] Fix duplicates in SDP 2021-10-23 22:00:53 +03:00
Andrey Volk f283b1227e [Core] switch_core_media: copy telephony event over on 3rd party response. 2021-10-23 22:00:53 +03:00
Andrey Volk 94f437aefc [Core] Deprecate RFC 2833 Line flash event code 16 according to RFC 4733 2021-10-23 22:00:49 +03:00
Andrey Volk 331e50a77b [Core] Fix MSRP relaying. 2021-10-23 22:00:47 +03:00
Chris Rienzo 60c4b62254 [core] Add SMBF_PAUSE media bug flag to pause an individual media bug.
* [core] Add SMBF_PAUSE media bug flag to pause an individual media bug.
[core] Add switch_ivr_record_session_pause() to pause a session recording.
[mod_dptools] Add record_session_pause and record_session_resume dialplan APPs.
[mod_commands] Add pause/resume sub-commands to uuid_record API.
2021-10-23 22:00:38 +03:00
Anthony Minessale 128d4776f8 [core] some more hardening work 2021-10-23 22:00:32 +03:00
Anthony Minessale d3ca238b05 [core] some mods for file playback to get proper bitrate and timing 2021-10-23 22:00:31 +03:00
Anthony Minessale 8a6a6fca47 [core] flush all the rtp on transfers 2021-10-23 22:00:29 +03:00
Anthony Minessale badd59d609 [core, mod_verto] remove CF_VIDEO_ONLY and pay attention to the streams instead and add CF_NO_RECOVER flag for verto 2021-10-23 22:00:28 +03:00
Anthony Minessale fb2250df8e [mod_verto] indicate video fps and size of current layer to client 2021-10-23 22:00:20 +03:00
Michael Jerris 53b459a687 [core] add support for resolving (and ignoring) mdns style .local addresses in ice candidates 2021-10-23 21:59:54 +03:00
Mike Jerris 829676e4d3 FS-11856: [Core] Offer all negotiated codecs in 200 OK when receiving re-INVITE without SDP 2021-10-23 21:59:50 +03:00
Liyang b1714199ce FS-11855: [Core] Offer all negotiated codecs in 200 OK when receiving re-INVITE without SDP 2021-10-23 21:59:48 +03:00
Dragos Oancea acbe88d18d [core] polish SEND_RTCP_MESSAGE 2021-10-04 08:54:05 +00:00
Ryan Mitchell 607f5db140 [core] add SEND_RTCP_MESSAGE:
toggle send rtcp events off fire_rtcp_events.
eval most common path first when checking flags.
2021-10-01 13:46:34 +00:00
Noah Mehl d24280c700 [core] Add SEND_RTCP_MESSAGE
We utilize: https://github.com/sipcapture/hepipe.js to monitor RTCP for our calls. As such, it's super helpful to get the sent RTCP data along with the received RTCP data. The new: SEND_RTCP_MESSAGE basically mirrors the existing RECV_RTCP_MESSAGE.
2021-10-01 13:46:34 +00:00
Dragos Oancea 5aacf41f14 [core] add core media getter (it gets the RTP session, handy for unit-testing). 2021-09-27 16:42:30 +03:00
Dragos Oancea a562db760c
[mod_opus] add cfg setting to overwrite the fmtp stereo param coming from remote. Eg: incoming SDP has stereo=1 but we want a mono call so we answer with stereo=0.
* [mod_opus] add cfg setting to overwrite the fmtp stereo param coming from remote. Eg: incoming SDP has stereo=1 but we want a mono call so we answer with stereo=0.
sprop-stereo will be set to 0 too.

* [core] opus: use switch_core_max_audio_channels() with remote fmtp stereo=1 to allow disabling of stereo.
2021-05-14 18:36:30 +03:00
Andrey Volk c61d89a47f [Core] Add new switch_core_session_try_reset() API to fix a deadlock for the case when two threads want to set session codecs. 2021-03-22 18:47:46 +03:00
Chris Rienzo c63f9524ee [core] Remove unused buffers and mutexes in switch_core_session. Remove destruction of resamplers that will already be destroyed by switch_core_session_reset(). 2021-03-22 18:46:03 +03:00
Andrey Volk 1fee1fc6ad [Core] Fix SDP parsing causing segfault. 2021-03-17 00:14:48 +03:00
Andrey Volk 4fe8aecbfb [Core] Make switch_core_media_set_codec() and switch_core_media_set_video_codec() thread-safe so there is no race when a session's codec is initiated by different threads simultaneously. 2021-03-16 23:15:54 +03:00
surendrasignalwire b220a05010 [Core] Fixed issue while setting mode on reinvite or outbound direction 2021-03-16 23:13:49 +03:00
surendrasignalwire cffc29927b [Core] Fix crash while writing text_frame in conference 2021-03-16 22:12:33 +03:00
Andrey Volk a931220af6 [Core] Fix wrong switch_assert expressions in switch_core_session_write_frame() 2021-03-16 20:33:18 +03:00
Andrey Volk 09d4ec6433 [Core] Fix multiple missing session unlocks in switch_core_media.c 2021-03-16 20:30:39 +03:00
surendrasignalwire e8fa2d37b2 [Core] execute_on_audio_change on codec change 2021-03-16 20:11:56 +03:00
ajay-sabat 73d6da1342
[Core] switch_core_media: Correct srtp_remote_audio_crypto_key variable 2020-11-12 01:29:48 +04:00
Alexander Traud ac8ef6ba1e
[core] Fix ICE candidate priorities
Seven years ago, commit cb076e6 used xor as pow. The compiler Clang 10
errors about this copy-paste-error from RFC 5245 section 4.1.2.1. Now,
Clang compiles successfully.
2020-09-27 13:04:31 +02:00
Ciprian 60073ad431
[core] DTLS PEM validation/creation tweaks and fix leaks in fixed pem path. 2020-09-10 21:56:25 +04:00
Andrew Cassidy 3130a51182 [Core] Add AEAD_AES_128_GCM and AEAD_AES_256_GCM ciphers support. 2020-06-22 16:26:22 +04:00
Anthony Minessale 6b35e576fc [core] Transfer with rtp_pass_codecs_on_stream_change one way audio 2020-05-08 01:40:21 +04:00
Anthony Minessale eaca798979 [core] add orig session check 2020-05-08 01:28:10 +04:00