Daniel Gultsch
63f5f8c89d
modify TODOs in JingleRtpConnection upon better understanding of the WebRTC stack
2021-09-08 10:47:34 +02:00
Daniel Gultsch
7466d12505
ring during device discovery
2021-05-22 19:37:20 +02:00
Daniel Gultsch
87f99d3570
Transferables interface needs to differentiate between 0 and null file size
2021-05-17 15:51:21 +02:00
Daniel Gultsch
67e5f839f1
ignore crypto callbacks when rtp session has already been terminated
2021-05-08 11:50:18 +02:00
Daniel Gultsch
9182a300c5
report fingerprint missmatch as securiy exception
2021-05-08 10:35:07 +02:00
Daniel Gultsch
8d391753d7
encrypt rtp map as future
2021-05-08 08:45:31 +02:00
Daniel Gultsch
337aa4a110
consider Config.REQUIRE_RTP_VERIFICATION on decrypt. fail as future
2021-05-07 22:55:20 +02:00
Daniel Gultsch
ddf597e0d3
invoke x509 verification upon receiving prekey message in rtp session
2021-05-06 18:40:35 +02:00
Daniel Gultsch
e2324209ed
make sure omemo sessions are verified if the the respective config flag is set
2021-05-04 19:04:01 +02:00
Daniel Gultsch
48156dd27f
a/v calls: seperate out SECURITY error from APP_FAILURE
...
until now problems with verifying the call (omemo or DTLS missing) would
just be another app failure. This commit displays verifications problems as
their own thing.
2021-05-04 10:10:34 +02:00
Daniel Gultsch
6d91551f59
use onAddTrack instead of deprecated onAddStream
2021-05-03 13:06:42 +02:00
Daniel Gultsch
0717f9ba18
upgrade libwebrtc to m90 and enable extmap-allow-mixed
2021-05-03 09:48:46 +02:00
Daniel Gultsch
ac7855a332
show domains in manual cert accept dialog
2021-05-03 08:28:03 +02:00
Daniel Gultsch
bc58fb0fbd
Always verify hostname/domain
...
There might be corner cases where it is required to use self signed
certificates. However there should be no corner cases where it is
required to use a wrong domain name. This commit swaps out the
MemorizingHostnameVerifier that let users accept wrong domains with the
standard XmppDomainVerifier.
closes #4066
2021-04-30 09:55:22 +02:00
Daniel Gultsch
9fc04c4b1e
when receiving out-of-order session-init in terminal state do not move to terminal again
...
fixes #4049
2021-04-08 10:23:39 +02:00
Daniel Gultsch
30c9e7399e
log track class in onAddTrack
2021-03-29 10:57:56 +02:00
Daniel Gultsch
1822a71c2a
Do not crash when receiving video call on device w/o camera
...
Upon accepting a video call on a device that can not establish a video track on
its own (for example by not having a camera), displaying the video enable/disable
button would fail. This commit defaults this button to disabled.
2021-03-26 12:54:26 +01:00
Daniel Gultsch
ce7f59a76c
use okhttp to fetch captcha
2021-03-22 10:39:53 +01:00
Daniel Gultsch
1cd95aefa6
migrate redirection urls to HttpUrl
2021-03-22 10:12:53 +01:00
Daniel Gultsch
739d20428a
optimize imports
2021-03-21 21:39:04 +01:00
Daniel Gultsch
a6244d986a
use settable futures for slot requester
2021-03-21 20:45:26 +01:00
Daniel Gultsch
8ac97b0027
disable extmap_allow_mixed by default
2021-03-21 19:40:52 +01:00
Daniel Gultsch
e217551a82
migrate to OkHttp instead of HttpUrlConnection
...
OkHttp gives us more fine grained control over the HTTP library and frees us from any platform bugs
2021-03-19 14:57:20 +01:00
Daniel Gultsch
b09a1432a3
Stanza.getErrorCondation only ever needs the tag name
2021-03-18 11:35:41 +01:00
Daniel Gultsch
6f1b71970d
parse extmap-allow-mixed
2021-03-16 18:52:38 +01:00
Daniel Gultsch
3baacf8862
switch to unified plan
2021-03-16 18:52:38 +01:00
Daniel Gultsch
2681ad82e1
complain if mLineIndex can not be found when receiving candidates
2021-03-16 18:52:25 +01:00
Christopher Vollick
ef24d2050b
Remove Renomination from WebRTC Options
...
This is a feature of WebRTC that's [not standardized][1] and only
supported by libwebrtc. Since there's no support in jingle for passing
this capability from one peer to another, we're currently hard-coding
this option into both the local candidate and also the remote candidate
so they can use it.
But I'm trying to call a user that isn't using WebRTC, and renomination
is causing the call to stay in "connecting..." state for 10 or 20
seconds, sometimes longer, while both sides wait for the other to
nominate something based on their individual beliefs about the standards
they're using.
Removing this seems to make connecting relatively instantaneous.
If we want to reintroduce this feature, we should probably make a XEP so
the peers can negotiate honestly about it, and only use it if both sides
truely support the feature.
[1]: https://datatracker.ietf.org/doc/html/draft-thatcher-ice-renomination-01
2021-03-04 08:26:52 +00:00
Daniel Gultsch
c5f801c1fe
do not push empty candidates to backlog
2021-03-03 13:12:10 +01:00
Daniel Gultsch
d52c46d582
use omemo verification only if omemo is enabled in conversation
2021-03-03 12:55:27 +01:00
Daniel Gultsch
3ee70b1d48
show verified shield in rtp session activity
2021-03-03 09:41:05 +01:00
Daniel Gultsch
e4b2bb4a42
throw exception when unable to encrypt
2021-03-03 08:22:21 +01:00
Daniel Gultsch
8a6430ae29
ground work for omemo dtls verification
2021-03-02 21:13:49 +01:00
Daniel Gultsch
f92ea5c70b
resend <propose/> only if server has stream mgmt
2021-02-21 13:37:08 +01:00
Daniel Gultsch
484f633180
let Conversations (not Android) play ringtone and vibration
...
fixes #3972 fixes #3801 fixes #3931
2021-02-18 20:55:31 +01:00
Daniel Gultsch
72e268e6b1
add TODO comments wrt to missing <retract/> parsing
2021-02-18 09:36:51 +01:00
Daniel Gultsch
db447f845e
resend session proposal on rebind
2021-02-12 11:36:44 +01:00
Daniel Gultsch
6cab0ad496
make rtp proposal tracked by SM. fixes #3983
2021-02-12 10:35:13 +01:00
Daniel Gultsch
7330d8a7f0
fixed race conditions around PROCEED state. fixes #3989
2021-02-11 16:56:57 +01:00
Daniel Gultsch
b6d62c13ef
use ascii notation for punycode domains in SNI
2021-02-07 09:38:55 +01:00
Daniel Gultsch
0a2c753620
do not use offline fallback rtp capability if account is disabled
2021-01-26 09:35:03 +01:00
Daniel Gultsch
8ce7bfb95e
automated code clean up
2021-01-23 09:25:34 +01:00
Daniel Gultsch
e711b3d294
remember last rtp capability
2021-01-22 08:24:19 +01:00
Ferdinand Pöll
453ca7c0ed
Migrate from Android Support Library to AndroidX
...
Unignored gradle.properties since androidX requires additions there
See also https://developer.android.com/jetpack/androidx/migrate
2021-01-18 20:49:35 +01:00
Daniel Gultsch
372ddbfb49
Revert "offline presences aborts session proposals. fixes #3943 "
...
This reverts commit f23016c967
.
2021-01-06 09:03:42 +01:00
Emmanuel Gil Peyrot
17c697eed9
add 'id' attribute to outgoing ICE-UDP candidates
...
this attribute is mandatory as per the XEP.
2021-01-03 16:32:28 +00:00
Daniel Gultsch
2bec5459c5
properly null check ufrag and pwd before whitespace checking. fixes #3956
2021-01-03 16:05:17 +01:00
Daniel Gultsch
0569febf67
minor code clean up in XmppConnection class
2020-12-31 10:27:06 +01:00
Daniel Gultsch
0e54d8a2cf
implement SCRAM-SHA512
2020-12-31 09:32:05 +01:00
Daniel Gultsch
f23016c967
offline presences aborts session proposals. fixes #3943
2020-12-22 17:50:26 +01:00
Daniel Gultsch
1f392a688d
initial (untested) support for easy onboarding invites
2020-12-01 20:31:30 +01:00
Daniel Gultsch
d158eeaf72
terminate jingle call when regular call starts
2020-08-24 12:47:54 +02:00
Daniel Gultsch
91e94db747
extend isBusyState to check phone state as well
2020-08-24 09:51:26 +02:00
Daniel Gultsch
15b323ee69
fix crash after session-accept failed and session-accept contained candidates
...
Conversations would attempt to feed any candidates found in the session-accept into
WebRTC; even if the session wasn’t setup correctly.
this commit processes the candidates only if the session was setup correctly
fixes #3867
2020-08-22 08:12:28 +02:00
Daniel Gultsch
637c0cb15a
fixed rare race condition when receiving transport info right after WebRTCWrapper closes
...
fixes #3849
2020-08-01 14:18:03 +02:00
Daniel Gultsch
1ae7d6be16
recover from pre-jingle connection states (discover etc) into full fledged jingle connection
...
fixes #3847
2020-08-01 09:50:54 +02:00
Daniel Gultsch
f22e33e3ea
fixed race condition of WebRTCWrapper being closed before transitioning into terminal state
...
JingleRTPConnection shuts down the WebRTCWrapper before transitioning into a terminal state.
(This allows us to make sure it is actually closed when reaching that state);
However that means that, when we get a UI redrawn inbetween closing and transitioning we might
still be in SESSION_ACCEPTED but with no PeerConnection. This traditionally has triggered
an IllegalStateException on getting the EndUserState.
This commit catches the ISE and returns 'ENDING' instead.
Chances are that this is only visibiliy for a very brief time in the UI before the transition
triggers the UI to redraw with the proper state.
fixes #3848
2020-08-01 08:20:10 +02:00
Daniel Gultsch
32d55346cc
ensure server triggered jingle iq-errors get routed properly
2020-07-18 16:14:39 +02:00
Daniel Gultsch
bf85a55930
catch NPE when detecting camera facing. fixes #3820
2020-07-09 20:11:09 +02:00
Daniel Gultsch
6a6c9fb3bf
ignore race condition when toggling fixes #3822
2020-07-09 19:14:28 +02:00
Daniel Gultsch
fada3a63c9
store entire transport info for after session was accepted. fixes #3790
2020-06-22 18:07:27 +02:00
Daniel Gultsch
dddb7ece25
show app failure instead of crashing when egl fails to init. fixes #3795
2020-06-18 20:37:56 +02:00
Daniel Gultsch
169ee99afa
do not attempt to reject call if session had already ended. fixes #3798
2020-06-18 20:32:58 +02:00
Daniel Gultsch
7bcb29c482
be more liberal in 0167 payload-type parameter parsing
...
some implementations will transform the following SDP coming from Firefox
m=audio 12346 RTP/AVP 101
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
to
<payload-type channels="1" name="telephone-event" clockrate="8000" id="101">
<parameter value="0-15" xmlns="urn:xmpp:jingle:apps:rtp:1"/>
</payload-type>
While a missing name attribute is not legal according to the XEP; and 0-15 are
technically not just one value the following commit will accept it if there is
just one paramater.
2020-06-17 21:15:12 +02:00
Daniel Gultsch
c8f23aef4e
error response to sending the jingle ft hash should not file the transfer
2020-06-15 21:33:32 +02:00
Daniel Gultsch
ccdc91a497
remove check that would ensure you use jingle only with full jids
2020-06-14 09:01:47 +02:00
Daniel Gultsch
400c8461fc
fix feature discovery in jingle file transfer for empty resources
2020-06-13 22:53:24 +02:00
Daniel Gultsch
0ba4892d3e
RTP: write log message on background thread
2020-06-12 09:08:09 +02:00
Daniel Gultsch
644ad99520
create rtp end user state for connection lost. fixes #3769
2020-06-12 07:57:11 +02:00
Daniel Gultsch
552e17e39a
remember terminal RTP session state
...
if the activity is not connected during finish it won’t receive the last end user state.
this code remembers it even if the actual session is already gone. so when activity reconnects and
we can’t find the real rtp session we can look up the last state instead.
2020-06-11 21:17:15 +02:00
Daniel Gultsch
1853242c66
do not throw when finishing jingle ft twice. fixes #3765
...
the state machine in jingle file transfer does not prevent that the connection
is being finished twice
2020-06-07 15:00:00 +02:00
Daniel Gultsch
b78d45c7cc
fix Jingle FT candidate selection for equal priority. fixes #3771
2020-06-07 12:47:03 +02:00
Daniel Gultsch
637c208f55
ask for resource and use jingle direct init when JMI is not available. fixes #3751
2020-05-30 14:56:12 +02:00
Daniel Gultsch
8edfc61346
fixed concurrent modification when iterating over presences
2020-05-30 10:57:22 +02:00
Daniel Gultsch
59d1a2982e
RtpSessionActivity: throw instead of finish when session wasn’t found
2020-05-28 09:22:58 +02:00
Daniel Gultsch
5e3aab3abe
ensure that finishConnection succeeds
2020-05-27 13:54:35 +02:00
Daniel Gultsch
1c625e55a0
set candidate gathering to continually. fixes #3719
...
This should be good enough to survive some network switches where both networks are online at the same time to allow for some handover
(for example when enabling wifi the 3G connection will usually (probably depends on OS) live on for a moment
2020-05-25 11:11:29 +02:00
Daniel Gultsch
88cc097732
fail pending messages on policy violation. fixes #3735
2020-05-22 18:23:53 +02:00
Daniel Gultsch
ed4d7bff92
reset tone manager after reaching NULL status
2020-05-22 16:25:29 +02:00
Daniel Gultsch
685e01e83f
give TonManager control over audio mode to play dial tones on earpiece. fixes #3738
2020-05-21 15:39:59 +02:00
Daniel Gultsch
a2a7256682
disable hardware AEC on some devices. fixes #3734
2020-05-21 11:13:46 +02:00
Daniel Gultsch
574bccfc59
avoid unnecessary call to Jid.ofDomain()
2020-05-21 07:57:57 +02:00
Daniel Gultsch
df3273a6fc
fix jid.withResource() for domain jids
2020-05-18 09:14:57 +02:00
Daniel Gultsch
a0920b83e2
use Account.getDomain() for direct access to domain jid
2020-05-17 10:24:46 +02:00
Daniel Gultsch
7a21b2c5ed
fixed parsing of unescaped jids with @ in local part
2020-05-16 10:40:26 +02:00
Daniel Gultsch
2195bce303
don’t allow escaped usernames in magic create
2020-05-16 08:55:13 +02:00
Daniel Gultsch
ef7d4fca86
show escaped jid in most of the UI
...
for historical reasons we store unescaped variants in DB and use them in intents.
2020-05-15 18:22:04 +02:00
Daniel Gultsch
b6703dbe38
switch xmpp-addr to jxmpp-jid
2020-05-15 17:06:16 +02:00
Daniel Gultsch
36d2ecfcfa
always use private key for TLS connection when one is configured
2020-05-13 09:38:30 +02:00
Daniel Gultsch
2c4788b7c7
send retract when unable to setup webrtc as initiator. fixes #3717
2020-05-11 12:20:32 +02:00
Daniel Gultsch
b845c601d0
include senders in jingle file offer
2020-05-11 11:09:18 +02:00
Daniel Gultsch
90526efbd4
fixed destination calculation for direct socks candidates. fixes #3715
2020-05-11 11:08:45 +02:00
Daniel Gultsch
46579550e4
fixed weird ToneGenerator crash. fixes #3712
...
obviously tones won’t work then anymore
2020-05-10 17:54:16 +02:00
Daniel Gultsch
4d3d3a7038
tie breaking racing jingle message proposals. fixes #3698
2020-05-10 14:09:16 +02:00
Daniel Gultsch
2c5bed61a1
introduce extra RTP state to handle going from sending proceed to receiving retract
2020-05-09 21:35:21 +02:00
Daniel Gultsch
f4247379bd
catch UnsatisfiedLinkError when trying to init libwebrtc. fixes #3707
2020-05-09 19:48:54 +02:00
Daniel Gultsch
92fc22b313
show call duration in audio calls. fixes #3708
2020-05-09 11:14:39 +02:00
Daniel Gultsch
285c750e69
throw IllegalStateException when trying to finish from a non terminal state
2020-05-08 18:36:52 +02:00
Daniel Gultsch
350fc57d87
properly wrap IPv6 addresses
2020-05-08 17:52:41 +02:00
Daniel Gultsch
5af4c865a7
make sure we finsh() the connection after transitioning into terminal state
2020-05-08 17:22:27 +02:00
Daniel Gultsch
c159bbfc81
play dial sounds on wrong track to make them play in silent mode. fixes #3697
2020-05-03 23:15:21 +02:00
Daniel Gultsch
3c3f5d8e6f
mark missed calls as unread (bold) in overview. fixes #3687
2020-05-03 18:07:00 +02:00
Daniel Gultsch
3577afea4e
fixed crash caused by race when dedecting if mic is on
2020-05-03 11:54:58 +02:00
Daniel Gultsch
e70b6eec98
do not mirror back camera. fixes #3693
2020-05-03 11:54:58 +02:00
Daniel Gultsch
63ddd97b6b
add button to switch cameras during video call
...
RIP symmetry :-(
fixes #3683
2020-05-02 17:15:50 +02:00
Daniel Gultsch
e4b906ebeb
fix crash on unknown sasl mechanims
2020-05-02 10:20:18 +02:00
Daniel Gultsch
48163a5604
show proposal as ongoing call
2020-05-02 09:50:17 +02:00
Daniel Gultsch
f7a0d2031a
disable TLS cert validation for stun/turn server
...
turns out libwebrtc doesn’t use the system root CA store but comes with only a few default CAs.
in anyway we will probably only use tcp/443 to bypass firewalls and not to actually secure anything.
2020-05-01 20:17:23 +02:00
Daniel Gultsch
58429c42ee
lower case protocol; we have seen upper case in the wild for some reason
2020-05-01 20:15:09 +02:00
Daniel Gultsch
7ac5e8e828
properly close WebRTCWrapper even when init failed
2020-05-01 13:56:24 +02:00
Daniel Gultsch
eab4ac017f
minor code clean up
2020-05-01 07:58:58 +02:00
Daniel Gultsch
deae2b109f
do not crash UI after ignoring improperly formatted jingle init
2020-04-29 15:54:02 +02:00
Daniel Gultsch
8a586527c4
check if setting local description was succesful
2020-04-29 15:32:27 +02:00
Daniel Gultsch
a49d69c878
parse candidates from session-init and session-accept
2020-04-29 10:36:54 +02:00
Daniel Gultsch
333f509e53
synchronize public WebRTCWrapper methods so closes don’t race
2020-04-29 09:10:15 +02:00
Daniel Gultsch
0d4b175760
better failure behaviour after direct init from jitsi
2020-04-29 08:51:38 +02:00
Daniel Gultsch
f93bac6d73
catch ISE around peerconnection.dispose()
2020-04-28 20:15:23 +02:00
Daniel Gultsch
faf1ff365d
modify call connected tone
2020-04-28 11:22:42 +02:00
Daniel Gultsch
27bf871472
play beep when voice call connects
2020-04-28 07:30:27 +02:00
Daniel Gultsch
fc4397e5b9
play busy and dial tones
2020-04-27 17:51:38 +02:00
Daniel Gultsch
07911b2094
indicate ongoing call. fixes #3675
2020-04-27 11:53:31 +02:00
Daniel Gultsch
9fbf73d1ea
do not log failed calls that never rang
2020-04-26 10:38:19 +02:00
Daniel Gultsch
c41033e83c
only take udp candidates from transport-info
2020-04-25 20:13:08 +02:00
Daniel Gultsch
4f5415ecba
terminated rtp connection do not count as busy
2020-04-24 09:41:54 +02:00
Daniel Gultsch
c0036b4ca6
increase busy timeout to 30s
2020-04-24 09:16:59 +02:00
Daniel Gultsch
96f6ae2b49
additional null check in case to is null
2020-04-23 20:11:45 +02:00
Daniel Gultsch
80cac3bd69
disable tcp candidates
2020-04-23 19:51:58 +02:00
Daniel Gultsch
a008993d06
add 20s busy timeout to incoming calls
2020-04-22 21:59:20 +02:00
Daniel Gultsch
892d913e2c
parsing iq erros also need to finish the connection
2020-04-22 18:42:07 +02:00
Daniel Gultsch
9fa9ca9cbc
catch securityException when parsing rtp description
2020-04-22 16:35:08 +02:00
Daniel Gultsch
9afac21b0b
don’t throw when user double taps accept button
2020-04-22 14:49:48 +02:00
Daniel Gultsch
876b1149d5
avoid double termination after failed connection
2020-04-21 22:59:54 +02:00
Daniel Gultsch
e0cb127005
retract call when pressing home or power button during ringing
2020-04-21 22:46:46 +02:00
Daniel Gultsch
5b12e23382
improve logging for throws from native callbacks
2020-04-21 12:00:13 +02:00
Daniel Gultsch
eb911b8196
show 215 status in server info
2020-04-21 11:40:05 +02:00
Daniel Gultsch
d5e3d13158
do not just assume rtcp-mux
2020-04-21 09:11:17 +02:00
Daniel Gultsch
7898ba65cd
extend extended webrtcwrapper logging
2020-04-20 17:05:27 +02:00
Daniel Gultsch
187dff3df9
put contact picture in incoming call notification
2020-04-20 15:57:31 +02:00
Daniel Gultsch
df2ef0eeb0
automatically reject/ignore calls from strangers if the setting is set
2020-04-20 15:57:31 +02:00
Daniel Gultsch
1cc0dfad84
move sdp logging to different tag
2020-04-20 15:57:31 +02:00
Daniel Gultsch
5a0979b41e
store 'ended call' when ended from proceed
2020-04-20 15:57:31 +02:00
Daniel Gultsch
f7f0dc99a7
launch calls in new task
2020-04-20 15:57:31 +02:00
Daniel Gultsch
a12760300c
ensure that rtp connection is registered with connection manager
2020-04-20 15:57:30 +02:00
Daniel Gultsch
c20c40a807
ensure webrtc connection gets closed after connection failure
2020-04-20 15:57:30 +02:00
Daniel Gultsch
7dfd47a5c4
better crash than leave WebRTCWrapper unclosed
2020-04-20 15:57:30 +02:00
Daniel Gultsch
934b98d199
add microphone availability check
2020-04-20 15:57:30 +02:00
Daniel Gultsch
16d34c2ba0
parse turns and stuns (regression from earlier commit)
2020-04-20 15:57:30 +02:00
Daniel Gultsch
2f437ea845
ignore iq errors if session has already been terminated
2020-04-20 15:57:30 +02:00
Daniel Gultsch
fa3ef07580
be more strict with ice candidate parsing
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0a18ab35c0
fixed 215 credential detection
2020-04-20 15:57:30 +02:00
Daniel Gultsch
e545e95d39
getMedia() would throw null pointer when called after going from proposed to some error state
2020-04-20 15:57:30 +02:00
Daniel Gultsch
21e412ef6f
only show remote video when connected
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0c4f0c074d
improve busy behaviour with multiple devices
2020-04-20 15:57:30 +02:00
Daniel Gultsch
45d5d1f635
capture in ~1920 resolution when available
2020-04-20 15:57:30 +02:00
Daniel Gultsch
b95d406e61
use more approriate reason when failing because of parse errors
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ec6bcec849
use different aspect ratio for landscape
2020-04-20 15:57:30 +02:00
Daniel Gultsch
36e117979a
put 'video' in ongoing video call notification
2020-04-20 15:57:30 +02:00
Daniel Gultsch
f995965dea
parse 0339 source groups from sdp
2020-04-20 15:57:30 +02:00
Daniel Gultsch
01a9a52990
show enable/disable video in video calls
2020-04-20 15:57:30 +02:00
Daniel Gultsch
445009c558
request camera permissions
2020-04-20 15:57:30 +02:00
Daniel Gultsch
5a20faaf0f
show 'incoming video cal' notification
2020-04-20 15:57:30 +02:00
Daniel Gultsch
d057ae3439
transmit media from proposal to actual session
2020-04-20 15:57:30 +02:00
Daniel Gultsch
8c273e7eee
parse media from session proposal
2020-04-20 15:57:30 +02:00
Daniel Gultsch
1489dba44f
release resource. stop caputuring when webrtc ends
2020-04-20 15:57:30 +02:00
Daniel Gultsch
339bdaea06
rudimentary video caputuring
2020-04-20 15:57:30 +02:00
Daniel Gultsch
bfb9a6267a
complete list of reasons
2020-04-20 15:57:30 +02:00
Daniel Gultsch
dd42a6b850
don’t transition when calling endCall and session was already terminated
2020-04-20 15:57:30 +02:00
Daniel Gultsch
65b43661dd
RtpConnection: synchronize all externally call methods to guard state transitions
2020-04-20 15:57:30 +02:00
Daniel Gultsch
172d2c693f
depulicate 'propose's when doing mam catchup
2020-04-20 15:57:30 +02:00
Daniel Gultsch
e16e0d895e
cancle ongoing jingle sessions on xmpp rebind
2020-04-20 15:57:30 +02:00
Daniel Gultsch
493ca68464
add <rtcp-mux/> in description
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ef22071bd1
turn proximity wake lock and/off depending on speaker configuration
2020-04-20 15:57:30 +02:00
Daniel Gultsch
981aeaf264
make mute and speaker button work
2020-04-20 15:57:30 +02:00
Daniel Gultsch
b924a63d01
copy audio manager from AppRTCDemo
2020-04-20 15:57:30 +02:00
Daniel Gultsch
5b98107e9a
put jingle messages in MAM and parse call log during catchup
2020-04-20 15:57:30 +02:00
Daniel Gultsch
4be2309202
more conditions under which to print call log
2020-04-20 15:57:30 +02:00
Daniel Gultsch
3439f40411
show call log messages in conversation stream
2020-04-20 15:57:30 +02:00
Daniel Gultsch
1dc88f38ca
avoid terminating twice
2020-04-20 15:57:30 +02:00
Daniel Gultsch
82f9a77777
be more conservative when parsing rtp content
2020-04-20 15:57:30 +02:00
Daniel Gultsch
c9f7e174f7
use foreground service for ongoing call notification
2020-04-20 15:57:30 +02:00
Daniel Gultsch
c6db651322
allow all jingle states to transition into terminated
2020-04-20 15:57:30 +02:00
Daniel Gultsch
5eea961155
improved strategy for ignoring self addressed jingle messages
2020-04-20 15:57:30 +02:00
Daniel Gultsch
7b382d2ba5
include more human readable text in application errors
2020-04-20 15:57:30 +02:00
Daniel Gultsch
07e671d7c3
do not offer jingle calls when using Tor
2020-04-20 15:57:30 +02:00
Daniel Gultsch
9d83981f2c
respond with busy if there is anthor rtp session
2020-04-20 15:57:30 +02:00
Daniel Gultsch
d19b5e0634
show notification during ongoing call
2020-04-20 15:57:30 +02:00
Daniel Gultsch
2e8b91665b
improvements to RtpSessionActivity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0302eacac1
back button rejects or ends call
2020-04-20 15:57:30 +02:00
Daniel Gultsch
2ba84bd32e
no need to be careful about Int parsing in session description; just fail
2020-04-20 15:57:30 +02:00
Daniel Gultsch
6884e427ef
require dtls and ensure procceds get tracked
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0661c1bd37
add state transitions for iq service-unavailable errors and timeouts
2020-04-20 15:57:30 +02:00
Daniel Gultsch
39e3791345
incude human readable text in some session-terminates
2020-04-20 15:57:30 +02:00
Daniel Gultsch
7749a7ce22
fixed rotation issues in RtpSessionActivity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
268eedad89
proper iq tracing (handling of errors); responding to all iqs
2020-04-20 15:57:30 +02:00
Daniel Gultsch
15a2491d7b
correctly parse turn server
2020-04-20 15:57:30 +02:00
Daniel Gultsch
845b3d8a0e
properly parse transport info and apply ice candidates after direct init
2020-04-20 15:57:30 +02:00
Daniel Gultsch
3e5e4e813b
reject call from proceed state; and deal with direct inits
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0bf991d95c
make jingle->sdp parsing fail on some obvious errors
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ca9b95fc9c
discover stun server
2020-04-20 15:57:30 +02:00
Daniel Gultsch
859bc0bef3
send and receive session terminates
2020-04-20 15:57:30 +02:00