Daniel Gultsch
a8241c72df
use url safe jingle session ids
...
Movim does not like slashes (/) in jingle session ids.
When proposing a session called 'wBKabx1kRIfkgNxAShip/w' Movim will
accept (proceed) a session called 'wBKabx1kRIfkgNxAShip' which the initiator of course does not know about. (Conversations will get stuck at ringing/discovering devices)
This is likely because a click on 'Reply' (accept call) in Movim opens upa pop up window where both the full jid as well as the session id are transmitted as part of the URL.
(Full jids can contain more than on slash btw)
2023-10-04 13:30:53 +02:00
Daniel Gultsch
1b5d2151d0
warn early when SDP is likely to be invalid
2023-10-04 13:07:28 +02:00
Daniel Gultsch
6bc3cad7de
apply ice-options when adding content or restarting ice
2023-10-04 10:43:45 +02:00
Daniel Gultsch
8570c9f912
use more aggressive reconnect intervals during rtp session
2023-10-03 12:56:10 +02:00
Daniel Gultsch
fd4b8ba188
bring back ICE Renomination via negotiation
2023-10-03 12:55:44 +02:00
Daniel Gultsch
17856a47db
hold back candidates until after content-add
2023-10-02 13:54:36 +02:00
Daniel Gultsch
7e9980d997
catch illegal state exception in TrackWrapper
2023-10-02 11:48:03 +02:00
Daniel Gultsch
09993b8319
fetch local description on its own executor
2023-10-02 11:03:08 +02:00
Daniel Gultsch
0dca7f8a5a
JMI: send 'ringing' and receipts only for contacts
...
fixes #110
2023-10-01 08:05:40 +02:00
Daniel Gultsch
ac3ce93c56
fix stun url generation
2023-10-01 08:02:55 +02:00
Daniel Gultsch
c9b80254e4
add more logging to unroutable jingle messages
2023-09-30 15:56:06 +02:00
Daniel Gultsch
6660877bcf
jingle: trim media attribute values
...
Movim has trailing whitespace around some of their media attributes
<source ssrc="1892824964" xmlns="urn:xmpp:jingle:apps:rtp:ssma:0">
<parameter name="msid" value="{a98821d7-b298-4130-925a-ff6c510734c0} {f45dfc5c-2fa7-42b4-85e5-935e786b3feb} " xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"/>
<parameter name="cname" value="{63b1042b-5cb5-4411-b2a5-bdff92ae45be}" xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"/>
</source>
our WebRTC doesn’t like that. We trim the value even though this seems to be a Movim bug.
2023-09-30 07:55:08 +02:00
Daniel Gultsch
05c79ff29d
version bump webrtc to m117
2023-09-29 16:19:01 +02:00
Daniel Gultsch
b4c3334d7e
add a few TODOs wrt tie breaks
2023-09-14 14:39:32 +02:00
Daniel Gultsch
fdd7f2926f
support 'ringing' jingle message
2023-09-14 11:22:19 +02:00
Daniel Gultsch
7a9f18f223
play tones as music when silent only on android 12+
2023-08-08 09:04:26 +02:00
Daniel Gultsch
ca1ee4a565
process stream features after success when we inlined bind but not sm
2023-06-25 22:15:49 +02:00
Daniel Gultsch
6289e048b3
catch runtime exception when trying to stop tone manager
2023-06-05 10:05:59 +02:00
Daniel Gultsch
aa8e0b3c4d
remember bound stream features. fixes #45
2023-05-02 15:35:27 +02:00
Daniel Gultsch
9187739450
play dial tones on STREAM_MUSIC when phone is silent
...
when the phone is silent only the first ~three tones are played when
attempting to play out the tone over STREAM_VOICE_CALL
it’s unclear exactly why this is the case (in the past we went back and forth
between STREAM_VOICE_CALL and STREAM_MUSIC) exactly to fix issues around silent
mode.
Apparently we failed to test this past three sounds.
This commit changes the stream back to music - but not generally as this was in
the past - but only for when the phone is on silent
2023-04-03 16:00:06 +02:00
Daniel Gultsch
1e0904a48d
use less entropy in SASL2 device id
2023-01-06 12:41:26 +01:00
Daniel Gultsch
1000d927a7
remove work arounds for nimbuzz.com
2023-01-01 12:20:10 +01:00
Daniel Gultsch
97d9cb7dd5
remove work arounds for slack
2023-01-01 12:05:49 +01:00
Daniel Gultsch
0cec499565
make sure we don’t dispose video source twice
2022-12-30 12:16:19 +01:00
Daniel Gultsch
a7fe3e8372
reset stanza count when enabling SM via SASL inline
2022-12-30 12:09:16 +01:00
Daniel Gultsch
01fba162f0
code clean up. use Optional to parse SM’s h attribute
2022-12-30 10:53:49 +01:00
Daniel Gultsch
f5b7fbc441
add log when we requested token but didn’t get one
2022-12-30 09:00:42 +01:00
Daniel Gultsch
13606aae60
add todo item in turn server code
2022-12-29 14:53:05 +01:00
Daniel Gultsch
ce0992036a
disable proximity sensor after switching from audio to video
2022-12-29 12:53:59 +01:00
Daniel Gultsch
909aa72b25
catch exception in getSignalingState()
2022-12-24 10:55:16 +01:00
Daniel Gultsch
36efd51a7f
fix transports/descriptions not upgraded to jingle ft
...
fixes #4429
2022-12-20 19:28:47 +01:00
Daniel Gultsch
499c4ddd0a
do not detect sm:2 as sm available
...
the 2.11.0 release removed support for enabling sm:2
unfortunatly sm:2 was still detected as "server supports stream managment"
down the line leading to resend loops.
fixes #4426
2022-12-16 08:07:46 +01:00
Daniel Gultsch
4ef4207593
show switch to video only if other party has caps
...
fixes #4421
2022-12-12 10:15:13 +01:00
Daniel Gultsch
bb52962f0d
delay candidates until after session-init/accept
2022-12-05 15:40:07 +01:00
Daniel Gultsch
2c7c44e957
null PeerConnection reference before disposing; otherwise getState() might be issued against disposed object
2022-12-01 20:46:18 +01:00
Daniel Gultsch
80d195d35e
avoid race condition when restarting ICE
2022-11-30 17:32:46 +01:00
Daniel Gultsch
4e8ceadfbf
prepare JingleRtpConnection for content-adds
2022-11-28 08:59:23 +01:00
Daniel Gultsch
f4be142e4d
add helper methods for content modification to RtpContentMap
2022-11-22 10:13:48 +01:00
Daniel Gultsch
e2f98f6bbc
ensure cc-ed proceed is equivalent to accept
2022-11-22 10:13:07 +01:00
Daniel Gultsch
9897fa3a45
rename initiateIceRestart to renegotiate to handle content adds
2022-11-21 09:10:01 +01:00
Daniel Gultsch
304205b2e3
take senders attr into account when converting to and from sdp
2022-11-20 17:00:40 +01:00
Daniel Gultsch
59ea66ca78
make sure VideoSourceWrapper is stored in property
2022-11-19 14:19:07 +01:00
Daniel Gultsch
27d8da2ab4
refactor WebRTCWrapper to allow for track adds
2022-11-19 13:03:34 +01:00
Daniel Gultsch
8fb2c11771
use plurals for missed call strings
2022-11-19 08:14:50 +01:00
Daniel Gultsch
6b9ebb3abf
remove TODO
2022-11-18 10:40:16 +01:00
Daniel Gultsch
109a20ca40
do not expect stream features after inline resume
2022-11-17 10:52:30 +01:00
Daniel Gultsch
29461edf40
process challenge only on secure connection
2022-11-17 07:48:09 +01:00
Daniel Gultsch
44bfff7e49
fall back to regular authentication if fast fails
2022-11-16 11:00:43 +01:00
Daniel Gultsch
6ececb4d2b
refactor webrtc video source + capture code
2022-11-12 13:37:56 +01:00
Daniel Gultsch
dac2e17133
disable quick start if fast is available but we didn’t use fast
2022-11-01 18:06:32 +01:00
Daniel Gultsch
35ee01cb28
reset fast token on login failure
2022-11-01 16:44:36 +01:00
Daniel Gultsch
e2b9f0e77a
add support for HashedToken channel binding
2022-10-15 20:53:59 +02:00
Daniel Gultsch
24badda4c9
do quick start with HT-SHA-256-NONE
2022-10-15 18:56:31 +02:00
Daniel Gultsch
c13787873c
request fast token
2022-10-15 12:27:38 +02:00
Daniel Gultsch
3378447f60
parse hash token names
2022-10-15 00:09:29 +02:00
Daniel Gultsch
0cd416298d
ensure we only select channel binding methods available for tls version
2022-10-14 20:00:36 +02:00
Daniel Gultsch
7eb160386d
enable SM if it wasn’t enabled in bind 2
2022-10-14 13:29:59 +02:00
Daniel Gultsch
9a0c90f066
read new stream features directly after success
2022-10-14 13:13:21 +02:00
Daniel Gultsch
cb775ece99
wait for DB restore before bind
2022-09-26 09:47:53 +02:00
Daniel Gultsch
3d56d01826
handle case when server loses support for quick start
2022-09-26 07:53:48 +02:00
Daniel Gultsch
32f9a58d9a
pipeline sasl2 directly after stream start
2022-09-25 14:13:04 +02:00
Daniel Gultsch
126e8ef08c
refactor sasl 2 authentication code
2022-09-24 14:58:49 +02:00
Daniel Gultsch
9f5da67539
use bind:0 namespace
2022-09-24 11:59:53 +02:00
Daniel Gultsch
5a3cca9554
use bind 2 tag and sasl 2 user-agent
2022-09-15 14:28:51 +02:00
Daniel Gultsch
bf15070fef
bump sasl2 namespace
2022-09-15 13:10:15 +02:00
Daniel Gultsch
495f79921d
store full sasl mechanism (not just priority)
2022-09-15 12:22:05 +02:00
Daniel Gultsch
d4ec1eaf38
refactor processFailure and processChallange into methods
2022-09-07 10:31:11 +02:00
Daniel Gultsch
5da9f5b3a3
refactor ScramMechanism to support PLUS
2022-09-06 16:28:28 +02:00
Daniel Gultsch
b78acb6fca
extract channel binding types via XEP-0440
2022-09-06 14:53:12 +02:00
Daniel Gultsch
a210568a9c
refactor SASL choice into factory; remove unused TagWriter
2022-09-06 09:25:23 +02:00
Daniel Gultsch
eee14a822a
add todos
2022-09-05 11:07:25 +02:00
Daniel Gultsch
e0bd1d168c
do not attempt resume when already in smacks session
2022-09-04 09:28:00 +02:00
Daniel Gultsch
052c58f377
rudimentary bind 2 implementation
2022-09-03 20:17:29 +02:00
Daniel Gultsch
00dd9a8058
remove support for sm:2
2022-09-03 12:16:06 +02:00
Daniel Gultsch
4f92ba880b
process authorization id in case full jid changes
2022-08-30 09:31:06 +02:00
Daniel Gultsch
3fac7d4992
fix very rare NPE (race condition)
2022-08-30 08:21:32 +02:00
Daniel Gultsch
8f76084a43
add sm-failed processing
2022-08-29 19:44:39 +02:00
Daniel Gultsch
7ea4f64ce4
code clean up for resumed processing
2022-08-29 19:30:03 +02:00
Daniel Gultsch
f6ab3dd068
support resume via sasl 2.0
2022-08-29 19:22:25 +02:00
Daniel Gultsch
928a16d31d
abort on 'continue' - no client support
2022-08-29 18:53:34 +02:00
Daniel Gultsch
6202cbe26b
minor code clean up for tag and element
2022-08-29 18:40:49 +02:00
Daniel Gultsch
5fc8ff899a
support logging in via SASL 2
2022-08-29 17:09:52 +02:00
Daniel Gultsch
a717917b3d
explicitly search for namespaces when processing stream features
2022-08-29 15:09:53 +02:00
Dmitry Markin
a6b88ba9e9
Add missed call notifications
...
Co-authored-by: Daniel Gultsch <daniel@gultsch.de>
2022-08-29 12:41:35 +02:00
Daniel Gultsch
e8736d5f1b
bump guava library
2022-08-22 11:29:04 +02:00
Daniel Gultsch
fe3433e427
do not accept empty credentials as ice-restart
2022-08-10 09:11:09 +02:00
Daniel Gultsch
d41020ccf3
ignore race condition after reject from notification
...
fixes #4351
fixes #4261
2022-08-05 10:46:15 +02:00
Daniel Gultsch
62a379862e
jingle rtp: improve logging and error reporting
2022-08-01 10:14:49 +02:00
Daniel Gultsch
42bd8e6d61
minor code clean up
2022-06-22 07:56:44 +02:00
Daniel Gultsch
a9dd5a3c76
support sasl/temporary-auth-failure
...
if the server is unable to query the database throwing a temporary-auth-failure
might be more appropriate
2022-06-14 08:39:58 +02:00
Stephen Paul Weber
78048bbd3d
Enable WebRTC-BindUsingInterfaceName/Enabled/
...
This makes 464XLAT networks (such as T-Mobile LTE) work.
https://bugs.chromium.org/p/webrtc/issues/detail?id=10707
2022-03-10 16:29:00 +01:00
Daniel Gultsch
372078629b
fix ice candidate sending when different credentials are used
2022-02-25 17:26:36 +01:00
Daniel Gultsch
1f772df74f
remove security check that ensures rtp connection was properly finished
...
this only causes race conditions
2022-02-25 16:24:16 +01:00
Daniel Gultsch
d6be6ddd18
use full file name for all new files
2022-02-22 16:05:02 +01:00
Daniel Gultsch
d7f38a3e5a
fix precondition for timeout handling
2022-02-12 10:19:54 +01:00
Daniel Gultsch
b6442c0bd4
add Samsung S4 to hardware aec blacklist
...
fixes #4267
2022-01-18 11:30:23 +01:00
Daniel Gultsch
db834a1f07
indicate call reconnect in notification
2021-11-19 12:26:11 +01:00
Daniel Gultsch
f8a94161db
don't play tone going from connect->reconnect->connect
2021-11-19 12:25:27 +01:00
Daniel Gultsch
a508a81553
externalize rtc config generation into seperate method
2021-11-17 11:33:15 +01:00
Daniel Gultsch
61fb38cd84
clean up some error handling error ICE restarts
2021-11-17 10:49:16 +01:00