3R Technologic

CSipSimple 0.00-15 / Second Beta release !

A new beta release of CSipSimple is available on the market.

Some bug fix and some improvements are here... Merely stable version :)

  • Fix force close while making a tel: call and csipsimple not started before
  • Samsung Galaxy S (and I9000) fix for speakerphone
  • IPv6 basic support (doesn't support dns resolution but if you set registrar and proxy with ipv6 address should be fine)
  • HTC Evo tweak for the PSP wifi mode bug from HTC (already fixed for N1 & Desire, but default setting to tweak was not set for Evo )
  • Sipgate & PlanetPhone wizard
  • DTMF Info option in settings
  • DNS SRV support
  • Default stun server (thx goes to ekiga guys that are agree to let us use their stun server as default parameter)
  • Armv4 support
  • New translations (thanks goes to translators that spend time on Launchpad to translate the project !! when written : bg, de, fr, hu, it, nl, pt, ru)
  • Bluetooth for 2.2.1

Well if you want to download it : market://search?q=pname:com.csipsimple

CSipSimple release 0.00-11 is out

Well yet another release. No big news on this one for users on which it was already running.
For those who had a freeze bug, this release will probably fix things. At least it should not freeze with a non responding phone ;).

The change is a complete rewrite of the audio drive. Previously I used directly C++ audio classes (by including good headers and libs on the NDK) as I considered it's a clean and pretty fast method.
Unfortunately for some reason that I still don't know, it causes freeze on some device (I suspect that it was to fast ;) or that the jvm tried to garbage collect something generated in the native layer).
So after a lot of time wasted spent time to debug the freeze, I concluded that I should use the JVM to create my audio objects (using JNI).
Fortunately, the performance loss is not so huge that I though : the java layer is not fully used : it's just the JNI interface that is used when the method to read/write audio buffers are invoked.

To conclude, for now all feedback I get on this new audio driver is positive. There is only one device on which there is issue : the samsung galaxy spica. But it seems to be related to the java audio management. (The first bug I find on it is the ToneGenerator that go in a deadlock when re-created and the second one seems to be also a deadlock when I try to set the audio route. It has to be debugged, but it's less awful than the previous freezing bug).

Hope you'll enjoy this new version.
Stay tuned, now that I fixed this blocking issue, i'll continue to improve the user interface and the features of the java application :)  !!!

CSipSimple Alpha release - Build 08

After a whole week of hard work.... I'm proud to release the alpha build 08.

A hard focus has been done on User Interface. I've read a lot of code from the android eclair source (and copied some pieces when it was necessary - recoded when I though that android code was too complicated).

I chose to take the latest known look and feel for the interface. Not only because I use android 2.1 but also because I though that it is not a good idea to take a custom interface (with no concordances with the basic Phone application). I chose the nexus one's one because it's the best way to address the more users. Even if they have 2.0.1 interface (with arc unlocker) this unlocker will be ok for them I think. (and why not one day enable plugins/ custom dialers -- that's planned :))

Among other new things I tried to make things a little bit more stable (there is still known possibilities of dead locks but it's more rare). Audio routing has also been improved. (Ringer/InCall mode) DTMF is now fully implemented (it tries the RFC method first and if fails just generate dialtone (using pjsip)).

Some screen-shots for the beauty :)

So what is on my todo list now :

  • Implement Hold call
  • Proximity sensor while in call and screen lock (timer if no proximity sensor)
  • Finalize labels for incoming calls and in call screen
  • Possibility to choose outgoing account (if some) in dialer
  • Re-Have a look for integration to native contacts (if possible I would like to be able to register the 2.1 QuickContact card - I have already look this but seems not so easy to do, so I postponed)
  • Implement phone filters for native outgoing calls (and let accounts override this param)
  • Label / l10n (at least in french for now, and since I'll not be ready for a beta release no other languages will be done)
  • Quick Settings at first start time
  • Native callLog integration
What I already postponed for after the 0.01-xx :
  • Conferences
  • Bluetooth (seems not so easy to handle in fact)
  • ARMv4 support (I'll need a sdk like for these plateforms)
And the point I don't know whether I'll implement since 0.01-xx :
  • SIP SIMPLE support (Buddy List/Status/Display Name) (A good thing would have been to integrate to IMProviders but I've not yet found docs about that point)

CSipSimple Alpha release - Build 04

I've just posted a new release of the application (both in android market place, archos apps lib and csipsimple website).

In this new version there is :

  • Some improvements in the java application. (Network disconnection, battery usage etc... should be better now).
  • Support of 16KHz. This means that even if the media is negotiate to use 8KHz, resampling will provide to the audio layer 16KHz voice, which reduce by half latency.
  • Integration of gsm, speex and g722 codecs. (I've just tested the speex codec, but I'm pretty confident with others since they are managed by pjsip).
  • Auto update sip stack at each update (if needed).

So what are the next steps :

  • Make it more stable
  • Try to integrate the workaround for android 1.5 audio crash at conversation end
  • Add more options (choose codec, priority....)
  • Enable to choose outgoing account for a call (use options)
  • Integration with tel: and with sip: (a plus could be integration with sms or better with our own proto).
  • Improve UI : in call view & screen orientation management.

This will be done for the 0.00-05 (still a FeteDuSip release). After this step, another alpha will provide SIP SIMPLE support. And maybe if legacy issue can be managed without an in app purchase, the g729 codec support (seems to be important for many people).

Website creation

This is the first entry in this blog.

Just for debugging purpose...