- an encrypted instant messaging with video call and GPS features for android
aTalk is an xmpp client designed for android and supports the following features:
- Instant messaging in plain text and End-to-End encryption with OMEMO or OTR
- SSL Certificate authentication, DNSSEC and DANE Security implementation for enhanced secure Connection Establishment
- OMEMO encryption in group chat session enhancing privacy and security
- OMEMO Media File Sharing for all files including Stickers, Bitmoji and Emoji rich contents
- Support http file upload for file sharing with offline contact and in group chat
- Support Stickers, Bitmoji and Emoji rich content sharing via Google Gboard
- Send and receive files for all document types and images with thumbnail preview and gif animation
- Auto accept file transfer with max file size option
- Implement fault-tolerance file transfer to ease and enhance file sharing reliability
- Enhance and harmonize UI for file sharing in chat and chatRoom
- Support share, quote and forward of messages and medias with previews prior to sending
- Support multi-instances of audio media player with functions: Play, Pause, Resume, Stop and Seek
- Support unread message badges in contact and chatRoom list views
- User selectable option for heads-up notification and quite hours
- Share of social media links are tagged with thumbnail and title
- Support Text to Speech and speech recognition UI with enable option per chat session (contact and group chat)
- XEP-0012: Last Activity time associated with contacts
- XEP-0048: Bookmarks for conference room and autoJoin on login
- XEP-0070: Verifying HTTP Requests via XMPP entity for user authentication without password entry
- XEP-0071: XHTML-IM Support chat messages containing lightweight text markup
- XEP-0085: Chat State Notifications
- XEP-0124: Bidirectional-streams Over Synchronous HTTP (BOSH) with Proxy support
- XEP-0178: Use of SASL EXTERNAL with TLS Certificates for client authentication
- XEP-0184: Message Delivery Receipts with user enable/disable option
- Implement Jabber VoIP-PBX gateway Telephony, allowing PBX phone call via service gateway
- Join or create room with full room configuration support for owner
- Integrated captcha protected room user interface with retry on failure
- Support both vo to algorithms uses SHA-2 384, 256bit ciphers AES256 & TWOFISH-256, enabling elliptic with Curve 25519
- SDES encice and video call with ZRTP, SDES and DTLS SRTP (DTLSv12) encryption modes
- ZRTP crypto algorithms uses SHA-2 384, 256bit ciphers AES256 & TWOFISH-256, enabling elliptic with Curve 25519
- SDES encryption with AES256 and AES192, acceleration using OpenSSL
- Support simultaneous media call and message chat sessions
- Unique GPS-Location implementation as standalone tool, send locations to your desired buddy for real-time tracking or playback animation
- A 360° street view of your current location use for self-guided tour. The street view tracks and follows your direction of sight
- Built-in demo for GPS-Location features
- Integrated photo editor with zooming and cropping, user can update the avatar with ease
- Last message correction, message carbons and offline messages (OMEMO)
- Stream Management and mobile network ping interval self-tune optimization support
- In-Band Registration with captcha option support
- Multiple accounts creation
- User selectable Themes support
- Multi-language UI support (Bahasa Indonesia, English, German, Russian, Slovak and Spanish)
aTalk works seamlessly with almost every XMPP servers available on network, limited only by servers features supported.
It supports the following XEP's, standards for XMPP clients.
- XEP-0012: Last Activity
- XEP-0030: Service Discovery
- XEP-0045: Multi-User Chat
- XEP-0047: In-Band Bytestreams
- XEP-0048: Bookmarks
- XEP-0054: vcard-temp
- XEP-0060: Publish-Subscribe
- XEP-0065: SOCKS5 Bytestreams
- XEP-0070: Verifying HTTP Requests via XMPP
- XEP-0071: XHTML-IM
- XEP-0077: In-Band Registration
- XEP-0084: User Avatar
- XEP-0085: Chat State Notifications
- XEP-0092: Software Version
- XEP-0095: Stream Initiation
- XEP-0096: SI File Transfer
- XEP-0100: Gateway Interaction
- XEP-0115: Entity Capabilities
- XEP-0124: Bidirectional-streams Over Synchronous HTTP (BOSH),
- XEP-0138: Stream Compression
- XEP-0153: vCard-Based Avatar
- XEP-0158: CAPTCHA Forms
- XEP-0163: Personal Eventing Protocol (avatars and nicks)
- XEP-0166: Jingle
- XEP-0167: Jingle RTP Sessions
- XEP-0172: User Nickname
- XEP-0176: Jingle ICE-UDP Transport Method
- XEP-0177: Jingle Raw UDP Transport Method
- XEP-0178: Best Practices for Use of SASL EXTERNAL with Certificates
- XEP-0184: Message Delivery Receipts
- XEP-0191: Blocking command (NI)
- XEP-0198: Stream Management
- XEP-0199: XMPP Ping
- XEP-0203: Delayed Delivery
- XEP-0206: XMPP Over BOSH
- XEP-0231: Bits of Binary
- XEP-0234: Jingle File Transfer
- XEP-0237: Roster Versioning
- XEP-0249: Direct MUC Invitations
- XEP-0251: Jingle Session Transfer
- XEP-0260: Jingle SOCKS5 Bytestreams Transport Method
- XEP-0261: Jingle In-Band Bytestreams Transport Method
- XEP-0262: Use of ZRTP in Jingle RTP Sessions
- XEP-0264: File Transfer Thumbnails
- XEP-0278: Jingle Relay Nodes
- XEP-0280: Message Carbons
- XEP-0294: Jingle RTP Header Extensions Negotiation
- XEP-0298: Delivering Conference Information to Jingle Participants (Coin)
- XEP-0308: Last Message Correction
- XEP-0319: Last User Interaction in Presence
- XEP-0320: Use of DTLS-SRTP in Jingle Sessions
- XEP-0352: Client State Indication
- XEP-0363: HTTP File Upload
- XEP-0364: Off-the-Record Messaging (V2/3)
- XEP-0384: OMEMO Encryption
- XEP-xxxx: OMEMO Media sharing
Libraries used in this project:
- Android Support Library
- android-betterpickers
- Android-EasyLocation
- annotations-java5
- apache-mime4j-core
- bouncycastle
- butterknife
- ckChangeLog
- commons-text
- Dexter
- FFmpeg
- glide
- Google Play Services
- httpmime
- ice4j
- jitsi
- jitsi-android
- jmdns
- jxmpp-jid
- libjitsi
- libphonenumber
- libvpx
- miniDNS
- Noembed
- otr4j
- opensles
- osgi.core
- sdes4j
- sdp-api
- Smack
- speex
- Timber
- TokenAutoComplete
- uCrop
- weupnp
- x264
- zrtp4j-light
Other contributors:
Cannot found an UI language and would like to help; translate the content in strings.xml. Create a pull request or forward the file to the developer.
If you have found bug, wish for new feature, or have other questions, file an issue.
aTalk, android VoIP and Instant Messaging client
Copyright 2014 Eng Chong Meng
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.