17 ms·
Video calls for Signal now in public beta
- weinzierl 10y agoThis is great news. I'm on iOS but I hope it will come to Android soon. I have a technical question: > We immediately realized that protocols like SIP, which traditionally required holding open long-lived connnections in order to receive incoming calls, were not going to be compatible with the mobile environment. Ok, so far so good. > Instead we built our own simple REST-based signaling protocol [...], and used push notifications instead of long-lived connections to notify the client of incoming calls. So, no long lived connection but a "simple REST-based signaling protocol". How is that supposed to work without a long lived connection? > Actual push notifications hadn't been invented yet, though, so we created our own push infrastructure by sending encoded SMS messages that the app would silently intercept and interpret instead. OK, that's pretty clear again. > Over time, we switched to push notifications when they were created by Google and Apple [...] But don't push notifications basically work over a long lived connection? Of course it's better to have just one long-lived connection to Apple instead of one for every communication App, but in the end if you want real time signalling in a mobile environment you won't get around a long lived connection, don't you? At least that is my understanding, but I'm always happy to learn something new.
- ymse 10y ago> But don't push notifications basically work over a long lived connection? Of course it's better to have just one long-lived connection to Apple instead of one for every communication App, but in the end if you want real time signalling in a mobile environment you won't get around a long lived connection, don't you? I think part of the convenience is on the server side. The server also only maintains a single connection to Google/Apple, instead of keeping millions of idle ones.
- maskz 10y ago> Today's Signal release for Android and iOS includes beta support for video calls. Android users like me can enjoy it too ! :)
- ploxiln 10y agoApple and Google make exceptions for their blessed push-notification services - just those services get reliable long-lived connections (and also have re-connection of course). Other applications, even with processes using some official API to run in the background, can be suspended or otherwise cut off to save power.
- josecastillo 10y agoMy read was that the SIP protocol was just less well suited to a mobile environment. Not merely that long-lived connections are bad, but that it would be inappropriate to use a long-lived connection that requires keepalive packets or loses user data every time the user goes underground (SMS queues up for delivery when the connection is re-established, and APNS will at least deliver the most recent push). Technically even the SMS solution requires a persistent connection, it's just the device's persistent connection to the cell network, which is presumably better tailored for the mobile use case.
- rixrax 10y agoSIP is unsuited for any environment. It is a disgrace of a protocol and a hot mess at that. At it's foundation it was designed to be 100% NAT incompatible and since it's inception bandage has been added to address this and it's other shortcomings. Faster we replace it with some/any alternative the better. From protocol design standpoint, SIP is so bad that it makes H.323 feel like a sane VoIP protocol (which it isn't). </rant>
- biot 10y agoYes, if you want real-time signalling you're generally going to need a persistent connection, long polling, or at minimum near-continuous regular polling depending on how "real-time" you want to get. For example, if your phone polls Apple/Google for any new push notifications every 3 seconds, does it matter that a Signal call takes 1.5 seconds (on average) to start ringing on the recipient's end? What they're mainly talking about, however, is that it's inappropriate to have a persistent connection (as would be required with SIP) continuously running in an app while the app is doing nothing but waiting for a call. Once that notification comes through and the call is accepted, then of course a persistent connection is required for the duration of the call. When the call is over, the Signal app can shut down all network traffic and wait to be reactivated via a mobile push notification when the next call comes in.
- NoGravitas 10y ago> But don't push notifications basically work over a long lived connection? It took me a while to understand this, and while other people have answered the question, I want to chime in in hopes it helps other people understand. Yes, push notifications work over a long-lived connection. The way push notifications in iOS and Android work is that all of your push notifications for all of your apps get sent over one long-lived connection, instead of one per app. Also, (at least on Android), the notifications can be held and batched, so that the device doesn't have to wake up as often to receive notifications. And finally, push notifications are handled by a system service that can wake up other applications, so that messaging applications can be aggressively hibernated to save power, and still receive notifications. The downside is that your notifications are all centralized. And while a well-designed app like Signal will only send a "wake-up" packet over the push notifications channel, it's still a worrying dependency for some people. There's a proposed RFC called webpush that would let you implement/choose your own push to be used by multiple apps: https://datatracker.ietf.org/wg/webpush/documents/ https://datatracker.ietf.org/wg/webpush/documents/
- subliminalpanda 10y agoTried it today with a relative, the audio quality is significantly better, almost no stuttering. Video was very smooth as well.
- kerhackernews 10y agoThis is great, might actually use it for calls now.
- StavrosK 10y agoYeah, they use Opus and VP8, AFAIK, which are both fantastic codecs. The quality is great, although there's no echo cancelation yet, so you want to be using it with headphones.
- ikawe 10y agoWould you mind filing an issue about the echo on the corresponding tracker with your device details? iOS: https://github.com/WhisperSystems/Signal-iOS/issues/new https://github.com/WhisperSystems/Signal-iOS/issues/new Android: https://github.com/WhisperSystems/Signal-Android/issues/new https://github.com/WhisperSystems/Signal-Android/issues/new
- StavrosK 10y agoSure thing, although I think the issue was gone with the latest release (but I used headphones so it might not have been). I'll retest and file.
- jrv 10y agoGreat. Signal doesn't do group calls though, right? Is there any app that does end-to-end-encrypted group calls?
- confounded 10y agoThis is tricky as the server needs to mix audio and video streams for group calls, which can't easily be done if they're encrypted. I understand that the Matrix.org/riot.im team have some interest in working on this.
- gepoch 10y agoSpeculating for fun: If you read into Signal's group chat, it ends up being indistinguishable from standard chat in the sense that the server is unaware of any "group" abstraction. The clients figure out how to thread messages based on encrypted message headers. From the outside, it just looks like N simultaneous outgoing messages from one user. This is nice, as the server doesn't have to remember who you were in a group with, and it's only a bit worse than the obvious (single message to server + broadcast to group members) approach because only the sender has to pay the cost of sending the N messages. All receivers still just receive 1. Extending to video chat, this would be quite difficult. To keep the necessary streams open and preserve the group-ignorant server design, each client has to open N connections to all other participants. That's a rough way for video streams to scale especially when routed through the same central infrastructure. Group calls would probably need server side group-aware logic to mux the feeds together, which would sacrifice some of the server's data minimalism. I predict that we won't be seeing group calls anytime soon.. Might be wrong though! Anyways, interesting to think about :) Seems like a pretty fascinating job to have.
- JshWright 10y agoFor small groups, client side muxing is fine (i.e. I call both Alice and Bob, and my device handles merging the streams).
- JumpCrisscross 10y agoI would pay for this feature.
- mirimir 10y agoWell, but ... > But anyone testing the beta who links their iPhone to iCloud and wants the same level of privacy Signal has always offered should consider an extra step, too: Disabling a setting that uploads a call’s metadata to Apple. The beta upgrade to Signal will use CallKit, Apple’s framework for allowing VoIP calls like Signal’s, to be integrated more completely into the calling functionality of the phone. But that also means calls will be recorded in the iPhone’s call log and, for iCloud users, shared with Apple’s server. “iOS treats CallKit calls like any other call, however that also means some information will be synced to iCloud if enabled,” Open Whisper Systems warns. “This information includes who you called and how long you talked.” https://www.wired.com/2017/02/encryption-app-signal-enables-video-calls-new-privacy-tradeoff https://www.wired.com/2017/02/encryption-app-signal-enables-...
- ycmbntrthrwaway 10y ago> This information includes who you called and how long you talked. Given the recent shift from data to metadata protection, which is the only justification for messaging centralization, this vulnerability effectively reduces security to almost zero.
- gepoch 10y agoAt the same time, metadata collection via a gag-ordered pen register on Signal is still possible in principle, this would just make it slurpable by existing prism type tools potentially already operating on iCloud. Those truly concerned with metadata should go to Tor, and not use signal, independent of this feature. I expect this is another case of UX/Security tradeoffs considerately made by OWS. Having native OS integration is nice, and probably the right answer for most users.
- angry_octet 10y agoHow feasible is call setup correlation when there are 10000 calls per minute going through the servers?
- tekklloneer 10y ago
- newman314 10y agoHas anyone tried Signal with CallKit enabled and iCloud disabled as well as seeing if it leaks metadata in this form? This config works for me with other VoIP apps. I tried earlier but was not able to get a call through...
- bubblethink 10y agoDoes this change mean that the server is open source too ? I remember that server for voice (redphone) wasn't open earlier.
- Vinnl 10y agoWell, there's this: https://github.com/WhisperSystems/Signal-Server https://github.com/WhisperSystems/Signal-Server
- lmedinas 10y agoIs there plans to bring Video calls to Desktop also ? I will be interested in doing Video calls in a bigger screen, like iPad for example, is there any plans to expand this ? or is there any technical limitation like the phone number ?
- izacus 10y agoI really don't get the direction of the Signal project. iMessage got a huge following because it allows you to trabnsparently send both SMS and encrypted messages (significantly lowering barrier to entry) and brings that functionality even to the desktop. Hence using it means that average user doesn't have to explicitly think about which channel to use and with spread of use more and more communications are secure. On the other hand, Signal SMS support is broken (datastore and MMS issues), they don't want to bring SMS support to their "desktop" app (which STILL needs you to install Chrome to work) and they still don't support the use of multiple devices. Instead they're wasting resources implementing video chat which noone really asked for and won't help the adoption nearly as much as having a secure drop-in replacement for SMS client. Even worse, enabling SMS support will prevent any other SMS apps that let you have conversations via the computer from working. It seems like they're actively trying to shoot their own foot. The best Signal can do is to make a proper desktop application (even Electron would do now, even though Telegram's approach is significantly better UX wise) and make SMS seamlessly integrated into it both on the phone and on the desktop. Video chatting is nice, but it's not where the most important requirement for cross-platform private communication is.
- hocuspocus 10y agoSMS and MMS are almost completely irrelevant outside of North America.
- izacus 10y agoThat's not even remotely true. It's the only common denominator on the mobile network that ensures delivery to everyone and it's still widely used everywhere.
- hocuspocus 10y agoI'm not saying it's not used, but it's mostly used one way (I receive SMS's but never send any) and irrelevant for modern instant messaging. The common denominator where I live is Whatsapp. If you send an SMS to someone, they will very likely not reply. In other countries it can be WeChat, LINE, Kakaotalk, ... and Signal is competing in this space.
- ripdog 10y agoEh, doesn't work for me. I turned the beta on for two android phones, then called one from the other. No video options, audio quality unchanged.
- ikawe 10y agoStrange. Could you follow up with support@whispersystems.org?
- flyx86 10y agoSo I still cannot send a voice message in the chat (like Android users can), but I am now able to do video calls. Shouldn't a feature be fully completed before moving on to the next one? And it still frequently happens that I get the same text message from Android users six times. Where are the priorities of this project?
- jsiepkes 10y agoI guess thats a matter of perspective. Voice messages seem important for you but I dont care much for them. Dont assume your priotities are also the priotities for the rest of the world. As for the bug; If projects shouldnt add features before all bugs are fixed I dont think we would see much releases...BTW ive never encountered that bug.
- exodos 10y agoSignal is a pretty polished app, more than expected. However I'm annoyed that they're adding large features without fixing small things. Sometimes I'll MMS from other people inside other chat windows where they don't belong. It's also really annoying that I have to attach a an item BEFORE I enter the message. Gets old after while. Apps crashes quite frequently. Using T-Mobile Wifi Calling feature makes MMS inconsistent, though at least it allows me to use. Signal should add support for Windows 10 Mobile as an app for all platforms, and SMS/MMS should carry over, not just Signal-to-Signal. I know there's a few other bugs, but I can't think of them at this moment. BTW, I use the LG G4 unrooted, custom recovery, and unlocked bootloader
- aibara 10y agoYou can add attachments after starting to type a message by hitting the three dots at the top right.