Affichage des articles dont le libellé est IMSDroid. Afficher tous les articles
Affichage des articles dont le libellé est IMSDroid. Afficher tous les articles

mercredi 28 juillet 2010

IMSDroid - SIP/IMS Client for Android (Beta)

We are proud to announce the availability of the first fully featured open source IMS Client for Android devices (1.5 and later).
The main purpose of the project (codename IMSDroid) is to exhibit doubango's features and to offer an IMS client to the open source community.

The current version of IMSDroid partially implements GSMA Rich Communication Suite release 3 and The One Voice profile V1.0.0 (LTE/4G, also known as GSMA VoLTE) specifications. Missing features will be implemented in the next releases. Stay tuned.
Highlights
  • SIP(RFC 3261, 3GPP TS 24.229 Rel-9)
  • Signaling Compression, SigComp (RFC 3320, 3485, 4077, 4464, 4465, 4896, 5049, 5112 and 1951)

  • Enhanced Address Book (XCAP storage, authorizations, presence, ...)
  • Partial supports for GSMA Rich Communication Suite release 3
  • Partial supports for One Voice Profile V1.0.0 (GSMA VoLTE)
  • Partial supports for MMTel UNI (used by GSMA RCS and GSMA VoLTE)

  • IMS-AKA registration (both AKA-v1 and AKA-v2), Digest MD5, Basic
  • 3GPP Early IMS Security (3GPP TS 33.978)
  • Proxy-CSCF discovery using DNS NAPTR+SRV
  • Private extension headers for 3GPP
  • Service Route discovery
  • Subscription to reg event package (Honoring network initiated (re/de/un)-registration events)

  • 3GPP SMS Over IP (3GPP TS 23.038, 24.040, 24.011, 24.341 and 24.451)
  • Voice Call (AMR-NB, GSM, PCMA, PCMU, Speex-NB, iLBC)
  • Video Call (H264, Theora, H.263, H.263-1998, H.261)
  • DTMF (RFC 4733)
  • QoS negotiation using Preconditions (RFC 3312, 4032 and 5027)
  • SIP Session Timers (RFC 4028)
  • Provisional Response Acknowledgments (PRACK)
  • Communication Hold (3GPP TS 24.610)
  • Message Waiting Indication (3GPP TS 24.606)
  • Calling E.164 numbers by using ENUM protocol (RFC 3761)
  • NAT Traversal using STUN2 (RFC 5389) with possibilities to automatically discover the server by using DNS SRV (TURN already implemented and ICE is under tests)

Many other features are supported by the underlying framework but not exposed to the user interface (in progress). For more information please refer to doubango website.
These features include: IPv6, OMA Large IM Message (MSRP), File Transfer (MSRP), Image Sharing (IR.79), Video Sharing (IR.74), TLS and IPSec Security Agreement (RFC 3329), Proxy-CSCF discovery using DHCPv4/v6, TURN, ...

For more information: http://code.google.com/p/imsdroid

mercredi 5 août 2009

Google Android NDK

Weeks ago, Google announced the first public release of Android NDK.

I was so excited because the IMS Client I'm developing is written in pure C/C++ (Only Java was supported).
Before Android NDK, I have looked at Google's Android SDK and I found that they are using non-standard JVM. This mean that applications developed using J2ME can't run on Android devices. Thanks to Dalvik virtual machine.
It was clear that I won't rewrite xxx thousand lines of code for Android mobile devices which represent less than 1 percent of all mobile devices.
It's amazing to think that Android OS will gain momentum without compliant embedded JVM. First deception.

Because performance is critical for us and we don't have time and money to rewrite an application which will only run on Android devices, we decided to wait for the Android NDK.

The first release of Android NDK only comes with these native libraries:
# libc (C library)
# libm (math library)
# libz (Zlib compression)
# liblog (Android logging)

This mean that you don't have:
# STL support (string, list, map, queue, ....)
# C++ exceptions handling
# Threading support
# Cryptography support
# Secure sockets/transport (SSL, TLS, S/MIME, ...)
# Classes to access the system resources (webcam, soundcard, drivers, ...)
# .... to be continued

Of course, you must use JNI if you want to have access to the native libraries. I let you imagine about performance ...
Second deception.

mercredi 10 septembre 2008

Free IMS Clients


  • IMSDroid, for Android
  • iDoubs, for iOS (iPhone, iPad and iPod Touch)
  • The UCT IMS Client is available under the GPL (open source)
  • The IMS Communicator is available under the GPL (open source)
  • FOKUS' OpenIC (Open IMS Client) is available only commercially. Yet, there is also a free binary OpenIC_Lite version available right here