- 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 multi-user-chat session, give users' maximum 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 members in conference room
- Support downloadable Stickers, Bitmoji and Emoji rich content sharing via Google Gboard
- Send and receive files for all document types and images, with thumbnail preview before file is sent
- Auto accept file transfer request with max file size option
- Implement fault-tolerance file transfer to ease and enhance file sharing reliability (1-1 chat and chatRoom)
- Enhance and harmonize UI for file sharing in chat and chatRoom
- Support share, quote and forward of messages and media files with preview before sending
- Embedded audio media player with functions: Play, Pause, Resume, Stop and Seek
- Support unread message badges in contact and chatRoom list views
- XEP-0012: Last Activity to show the time of the last activity associated with a contact
- XEP-0048: Bookmarks for conference room and autoJoin on login
- XEP-0070: Verifying HTTP Requests via XMPP entity to confirm it made the request
- XEP-0071: Support send and receive of instant messages that contain lightweight text markup
- XEP-0085: Chat State Notifications
- XEP-0124: Bidirectional-streams Over Synchronous HTTP (BOSH) with Proxy support
- XEP-0184: Message Delivery Receipts with user enable/disable option
- Implement Jabber VoIP-PBX gateway Telephony, allowing PBX phone call via service gateway (experimental)
- Support multi-user chat in room creation, server chat rooms discovery and joining chat room with captcha protection
- Support both voice and video call with ZRTP, SDES and DTLS SRTP encryption modes
- Support simultaneous media call and message chat sessions
- Unique GPS-Location implementation standalone tool, or sending locations to your chosen buddy for real-time tracking or playback animation.
- A 360° street view of your current location, may 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)
- Mobile network ping interval self-tune optimization support
- In-Band Registration with captcha option support
- Multiple accounts creation
- Multi-language UI support (Bahasa Indonesia, English, German, Russian, 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-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
- 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
http://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.