Commit Graph

4932 Commits

Author SHA1 Message Date
Daniel Gultsch
daf234191b pulled translations from transifex 2020-04-28 20:15:34 +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
8183c54ba0 use stanza-id for display markers in group chats 2020-04-28 08:25:21 +02:00
Daniel Gultsch
27bf871472 play beep when voice call connects 2020-04-28 07:30:27 +02:00
Daniel Gultsch
418cecad11 remove XEP-0357 support for group chats 2020-04-28 06:50:04 +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
006d7447a3 put version code into crash report 2020-04-25 20:13:20 +02:00
Daniel Gultsch
c41033e83c only take udp candidates from transport-info 2020-04-25 20:13:08 +02:00
Daniel Gultsch
a5beaaed9d null reference to rtpconnection when end card is reached
this will make re-init work if for example retry end card had been reached and we get another call
2020-04-24 21:27:03 +02:00
Daniel Gultsch
32ab7775d7 pulled translations from transifex 2020-04-24 10:42:19 +02:00
Daniel Gultsch
cacd85b4f1 catch ISE when entering PIP 2020-04-24 10:37:46 +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
c88d736cee pulled translations from transifex 2020-04-23 13:01:00 +02:00
Daniel Gultsch
d7a8519ad6 do not continue to accept call if reinit() caused activity to finish 2020-04-23 12:52:02 +02:00
Daniel Gultsch
cfb9368edb check if pip feature is available on top of doing version check 2020-04-23 12:14:45 +02:00
Daniel Gultsch
60cea03dce do not attempt retract if onStop was faster than backend connect 2020-04-23 10:13:10 +02:00
Daniel Gultsch
a008993d06 add 20s busy timeout to incoming calls 2020-04-22 21:59:20 +02:00
Daniel Gultsch
22e93e4169 fix direct share for cases where the application id was changed 2020-04-22 20:23:13 +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
fa45422fa8 pulled translations from transifex 2020-04-22 14:59:23 +02:00
Daniel Gultsch
9afac21b0b don’t throw when user double taps accept button 2020-04-22 14:49:48 +02:00
Daniel Gultsch
04a7b9da1c pulled translations from transifex 2020-04-22 08:54:20 +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
e5282b846f pulled translations from transifex 2020-04-21 22:01:01 +02:00
Daniel Gultsch
995856ffe0 fixed chinese translation 2020-04-21 18:43:53 +02:00
Daniel Gultsch
62c50d0089 pulled translations from transifex 2020-04-21 18:19:47 +02:00
Daniel Gultsch
3c0b3f4b94 allow dnd overwrite for incoming calls 2020-04-21 18:13:09 +02:00
Daniel Gultsch
442b952700 add jingle message init namespace to features 2020-04-21 14:59:03 +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
23d1ee5e41 render contact’s avatar during incoming call 2020-04-20 15:57:31 +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
e661d5b7ad provide deep link from settings into call notification settings 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
c7269bc0aa check microphone availability on background thread 2020-04-20 15:57:31 +02:00
Daniel Gultsch
31dfb0c704 cache useTor information in activity 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
48f752366b paint local mic off button in pip 2020-04-20 15:57:30 +02:00
Daniel Gultsch
644e5aa856 remove video sinks when calling onStop. otherwise going in and out foreground will give us endless sinks 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
ab2681640a allow pip during connecting 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
8472712b3e play notification sound pre notification categories 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
ea2ed85ed7 support picture in picture for video calls 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
4558b9a7b0 select proper media for retry 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
d7e93e18e5 add a couple of todos to RtpSessionActivity 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
d4788fc1f4 display video call based on availability 2020-04-20 15:57:30 +02:00
Daniel Gultsch
b4df19177f make seperate menu items for audio and video calls 2020-04-20 15:57:30 +02:00
Daniel Gultsch
17d9b02f41 properly paint local video over remote 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
b20b00e77f use toolbar to display status text in RtpSessionActivity 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
9bc264bd73 do not use proximity wake lock on speaker phone 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
9a41d11aed do not show context menu for call logs 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
deaa76b5ca when using onNewIntent make sure to store intent otherwise onBackground might just overwrite it again 2020-04-20 15:57:30 +02:00
Daniel Gultsch
609120c0d8 only ever create one wake lock in rtpsessionactivity 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
14d008d89d turn screen off during call 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
f5c4de8770 make retry work 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
6a1df0538e request recording permission when making or accepting audio calls 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
Daniel Gultsch
00f273b0c0 show retry button after failed call 2020-04-20 15:57:30 +02:00
Daniel Gultsch
f7d1e02d4b parse 'accept' messages 2020-04-20 15:57:30 +02:00
Daniel Gultsch
9edadc9835 process retract jingle messages 2020-04-20 15:57:30 +02:00
Daniel Gultsch
a11d506bf0 support reject 2020-04-20 15:57:30 +02:00
Daniel Gultsch
7909a72d43 make retract jingle messages work 2020-04-20 15:57:30 +02:00
Daniel Gultsch
e2f1cec2e5 prepare more state transitions 2020-04-20 15:57:30 +02:00
Daniel Gultsch
ccfc55e9b6 show proper notification on incoming call 2020-04-20 15:57:30 +02:00
Daniel Gultsch
4c6ee9693a use appbarlayout in RtpSessionActivity 2020-04-20 15:57:30 +02:00
Daniel Gultsch
0e88b56eb4 display status information in ui 2020-04-20 15:57:30 +02:00
Daniel Gultsch
a9a35fb74b show status in RtpSessionActivity 2020-04-20 15:57:30 +02:00
Daniel Gultsch
f8c0328416 dummy Jingle activity 2020-04-20 15:57:30 +02:00
Daniel Gultsch
22c755c5ce implement session accept 2020-04-20 15:57:30 +02:00
Daniel Gultsch
9dfa9df790 implement sending of session-accept 2020-04-20 15:57:30 +02:00
Daniel Gultsch
ac9a1a773e receive candidates/transport-info 2020-04-20 15:57:30 +02:00
Daniel Gultsch
885ec0febe a couple of bug fixes for SessionDescription.toString() 2020-04-20 15:57:30 +02:00
Daniel Gultsch
f264ef9f8b create sdp string and set on peer connection 2020-04-20 15:57:30 +02:00
Daniel Gultsch
b1c0e93b34 rudimentary rtpmap to session converter 2020-04-20 15:57:30 +02:00
Daniel Gultsch
2591a96945 sdp candidate to transport-info 2020-04-20 15:57:30 +02:00
Daniel Gultsch
4d70855b4c sdp to ice transport conversion 2020-04-20 15:57:30 +02:00
Daniel Gultsch
b44a3aeac6 parse sdp to jingle (yet w/o transport) 2020-04-20 15:57:30 +02:00
Daniel Gultsch
ef51ec2c1d create objects for ssma (xep-0339) 2020-04-20 15:57:30 +02:00
Daniel Gultsch
28ead10ca4 sdp media to description parsing 2020-04-20 15:57:30 +02:00
Daniel Gultsch
18059345c8 payload-type and rtp-hdrext sdp parsing 2020-04-20 15:57:30 +02:00
Daniel Gultsch
5b1d86d67e dummy code to get sdp out of (non-working) libwebrtc 2020-04-20 15:57:30 +02:00
Daniel Gultsch
3b857e6894 create temporary RtpSessionPropsoal as placeholder before we can create actual session 2020-04-20 15:57:30 +02:00