2009-08-20

New Release of Mercuro IMS Client (4.0.1460)

The latest release of Mercuro IMS Client(Version 4.0.1460) is now available for download at http://www.mercuro.net/.

This release comes with a lot of fixes and improvements. Here is a non-exhaustive list:

[BRONZE, SILVER, GOLD]
- Enhance Audio Queue and Jitter Buffer
- Add support for XCAP-Diff
- Fix SDP negociation when dealing with new media
- Fix retransmission issue with OPTIONS requests
- Fix multipart-related handling in MSRP
- Fix illegal content-type when sending some types of content in MSRP
- Fix a crash when accessing mixer volume information
- Update Mercuro to use the latest VC++ Runtime

[SILVER, GOLD]
- Add support for SIP Dictionary in SigComp

Your feedback is welcomed (http://feedback.mercuro.net/)
Mecuro DataSheet: http://www.mercuro.net/downloads/DataSheet_Mercuro.pdf

2009-07-21

MMS using Mercuro IMS Client

Support for MMS (Multimedia Messaging Service) messaging has been added in the last release of Mercuro IMS Client.
MMS messages are sent over the network using MSRP/SMIL to one or multiple contacts (using conference factory).

2009-07-15

New Release of Mercuro IMS Client (4.0.1448)

The latest release of Mercuro IMS Client(Version 4.0.1448) is now available for download at http://www.mercuro.net/.
This release comes with a lot of fixes and improvements. Here is a non-exhaustive list:

[BRONZE, SILVER, GOLD]
- Add missing "c" attribute in OPTIONS/SDP
- Message-Summry subscription does not depend on the presence anymore
- Fix SDP media addition
- Fix MSRP overflow when dealing with very large file (> 2Gb)
- Fix H.263 payloading, to optimize blob splitting
- Fix a potential deadlock when dealing with subscriptions
- Fix MAC/XMAC mistmatch handling in AKAv1 and AKAv2
- Fix context menu for watcher info screen.
- Fix potential buffer overrun during AKA computation

[SILVER, GOLD]
- Add support for SigComp compression
- Add support for IPSec/AKA
- Fix potential SPI value overflow for IPSec/AKA
- Fix session timers triggering after a BYE
- Fix IPv6 handling when IPv6 addresses have a zone ID

[GOLD]
- Add for MMS/SMIL composition
- Add for MMS/SMIL rendering
- Fix Qos Pre-Conditions failure when session timers are used
- Fix mode-set negociation for AMR and AMR-WB

Your feedback is welcomed (http://feedback.mercuro.net/)
Mecuro DataSheet: http://www.mercuro.net/downloads/DataSheet_Mercuro.pdf

SigComp (Signaling Compression)

SigComp (Signaling Compression) is now available starting with the Silver edition.
SigComp stands for Signaling Compression and has been defined in RFC 3320 by the Internet Engineering Task Force (IETF) ROHC working group.

Many application protocols used for multimedia communications are text-based and engineered for bandwidth rich links. As a result the messages have not been optimized in terms of size. For example, typical IMS/SIP messages range from a few hundred bytes up to two thousand bytes or more. For this reason, SigComp is mandatory for 3GPP IMS netwoks and PoC systems.

SigComp could also be useful for RCS (Rich Communication Suite) networks because of the size of the SIP packets (more than three thousand bytes for presence publication). Using SigComp in IMS/RCS context will reduce the round-trip over slow radio links.

Our SigComp implementation has been tested against 3GPP IMS and 3GPP2 MMD networks using [3GPP TS 24.229] and [3GPP2 X.S0013-004-A] compression procedures.

Mercuro IMS Client implements:
  • RFC 3320 - Signaling Compression (SigComp)
  • RFC 3485 - The Session Initiation Protocol (SIP) and Session Description Protocol (SDP) Static Dictionary for Signaling Compression (SigComp)
  • RFC 3486 - Compressing the Session Initiation Protocol (SIP)
  • RFC 4077 - A Negative Acknowledgement Mechanism for Signaling Compression
  • RFC 4464 - Signaling Compression (SigComp) Users' Guide
  • RFC 4465 - Signaling Compression (SigComp) Torture Tests
  • RFC 4896 - Signaling Compression (SigComp) Corrections and Clarifications
  • RFC 5049 - Applying Signaling Compression (SigComp) to the Session Initiation Protocol (SIP)
  • RFC 5112 - The Presence-Specific Static Dictionary for Signaling Compression (Sigcomp)
  • 3GPP TR23.979 Annex C - Required SigComp performance
  • [3GPP TS 24.229] and [3GPP2 X.S0013-004-A] compression procedures

2009-06-03

Mercuro now includes H.264 codec

Inexbee has become an offical H.264/AVC licensee, in order to provide the H.264/AVC codec to owner of the Mercuro IMS Client Silver Edition.

Mercuro IMS Client is supporting the Base Profile (Level 1.0, 2.0 and 3.0), in CIF and QCIF video sizes.

If you own one or more license of Mercuro IMS Client Silver Edition, please upgrade to enjoy high-quality video calls with H.264/AVC codec.

New Release of Mercuro IMS Client (4.0.1381)

The latest release of Mercuro IMS Client(Version 4.0.1381) is now available for download at http://www.mercuro.net/.
This release comes with a lot of fixes and improvements. Here is a non-exhaustive list:

[BRONZE, SILVER, GOLD]
- Add User-Agent header in SIP Responses
- Add NAT traversal in MSRP (RFC 4145)
- Add support for partial publication (RFC 5262, RFC 5264)
- Add support for MSRP Delivery Reports
- Add support for content indirection in SIP NOTIFY
- Allow arbitrary URLs in Refer-To headers
- Add support for group of contacts
- Add support for free-text publication
- Add support for homepage publication
- Add support for status icon publication
- Add support for symmetric OMA presence authorization
- Simplify the authorization management (Pres Rules)
- Use the OMA naming conventions for XDMS (Resource Lists, RLS, Pres Rules)
- Fix "Sign-In" menu to connect

[SILVER, GOLD]
- Add supports for OMA Final Delivery Reports
- Add support for message composition indication for instant messaging (RFC 3994)
- Add support for H.264 codec

[GOLD]
- Add support for Conference Establishment using Request contained lists (RFC 5366)
- Add support for Event Package for Conference State (RFC 4575)
- Add support for Implicit Subscription using SIP REFER (RFC 4488)
- Add support for Session Timers in MSRP
- Add support for MSRP conference (one-to-many adhoc)
- Add support for extension from MSRP one-to-one chat to MSRP one-to-many adhoc
- Add support for message composition indication for instant messaging (RFC 3994)
- Add support for per-service publication

Your feedback is welcomed (http://feedback.mercuro.net/)

2009-05-29

GSMA RCS Experience with Mercuro IMS Client

1. Presentation

RCS (Rich Communication Suite) was a join industry effort aiming to speed up the evolution of mobile phone communication towards rich communication. The RCS initiative includes network operators, network and device vendors (Orange, Telecom Italia, Telefonica, TeliaSonera, Ericsson, Nokia Siemens Networks, Nokia, SK Telecom, Sony Ericsson and Samsung).

The RCS is now managed by the GSM Association (GSMA). For more information about GSMA RCS program look at this dedicated website (http://www.gsmworld.com/rcs/programme.shtml)
The main goal of GSMA RCS is to provide a set of fully interoperable rich services to be used both in mobile and fixed network (Network/Access Convergence). These services will enrich call experience.
To be compliant with the GSMA RCS an IMS client MUST at least support these services:

- Enhanced Address Book (defined by the OMA –Open Mobile Alliance-)
- Enhanced Messaging (OMA)
- Content Sharing (GSMA)
- File Transfer (OMA)

An easy way to show how RCS work is to share with you RCS Experience using Mercuro IMS Client. Mercuro is one of the most complete and compliant IMS/RCS client used today.

Mercuro is developed by Inexbee.



2. Enhanced Address Book

This service (also called Enhanced Phonebook or EAB) is the main RCS Service and could be seen as an enriched buddy list with rich presence information. It should be possible to launch all other services (Image/Video Sharing, File transfer, SMS, MMS …) by selecting a contact from the phonebook.
The buddy list is expressed as XML documents and stored in various document repositories in the network where such documents can be located, accessed and manipulated (created, changed, deleted) by authorized principals.
Such documents are accessed and manipulated using IETF XML Configuration Access Protocol (XCAP).
Mercuro could be seen as a XDM Client (XDMC) and the server (XDMS) as a HTTP origin server.
Mercuro can automatically synchronize your EAB with your Terminal Address Book (TAB) to backup or restore your local buddies.
Synchronization between your TAB and the Network Address Book (NAB) must be done using a SyncML agent which will do translation from SyncML (OMA DS Synchronization) to OMA XDM.
Mercuro will support NAB synchronization in release 5.0.


Figure 1: Mercuro IMS Client EAB

2.1 XDM Storage

All contacts are remotely stored in the XDM server. Remote storage allows the user to get his buddy list everywhere and makes Convergence easier (Same contacts on your PC, PDA or mobile phone even if roaming). A contact is stored with some mandatory information (id and display-name) and extended with social information (e.g. nickname, e-mail, free text, dynamic avatar, birthday, labels, favorite link …). To keep XML documents compliant and interoperable, all Mercuro specific information are stored in separate documents.

Mercuro buddies are displayed with minimal information (nickname, msisdn …) and full profile is shown only when requested by the user. It is possible for the user to sort stored his contacts by nickname, e-mail, birthday …

2.2 History

All communications history is saved (for each contact) on behalf of the user. Retrieving a particular saved entry from the UI can be performed using dynamic filters.

Mercuro IMS Client allows the user to start new session (Voice/Video call, Image Sharing, Messaging …) from the history by selecting an entry. You can sort history by date, communication type...

2.3 Groups

Each contact could be part of one or many Groups (e.g. friends, family, biz …).

Mercuro buddies are displayed by Group. You can sort your buddies by group, name, sphere ….

2.4 Enhanced Address Book Presence

This feature is mainly based on OMA SIMPLE Presence 1.1 which partially uses IETF presence data model (RFC 4479).
Mercuro offers the possibility to publish your status (online, offline, out to lunch, on the phone …), dynamic avatar, favorite link, notes, availability, willingness, mood or per service/device capabilities at any time. Dynamic avatar publication (Based on OMA Presence Content) is an important element of EABP and gives Mercuro the look and feel of some well-known VoIP software (Skype or Windows Live Messenger).
It is possible to retrieve presence information for each contact in the phonebook using subscription mechanism (asynchronous). Presence could be retrieved one by one or per list.

All contacts are displayed with their presence information (all mentioned above). You have the possibility to sort your buddies by presence information (availability or willingness).
See below for capabilities indication.

2.5 Capabilities Enhanced Address Book

Mercuro can publish/store (persistent) end-user’s current communication capabilities and retrieve them later (new session). In the other side, capabilities information is retrieved for each contact using presence subscription. All contacts are displayed with their capabilities information. The list of capabilities to be shown to the user by Mercuro 4.x includes:

Video Call (3G CS video call)
Image Sharing (PRD IR.79 Image Share Interoperability Specification 1.0)
Video Sharing (PRD IR.74 Video Share Interoperability Specification, 1.0)
File Transfer (OMA SIMPLE IM 1.0)
Session Mode Messaging (OMA Instant Messaging using SIMPLE, 1.0)

Capabilities indication can be seen as “what type of communication I’m willing to accept”.

2.6 Presence authorization


Once your presence information is published you can choose with who you want to share it. At any time you can choose to accept, block, ignore or revoke an existing (or incoming request) authorization. Rules could be managed per lists (black-hat, white-hat …) or per buddy.

You can easily (UI) retrieve associated pres-rules (blocked, allowed …) for each contact.

2.7 Multimedia Element Integration


It is possible to integrate multimedia elements such as photos, portrait icon, free text …

3. Enhanced Messaging

Mercuro supports 1-to-1 and Ad-hoc mode messaging (Instant Messaging using SIMPLE v1.0 chapter 4.3.1). Peer-to-peer IM Session is also supported (chap. 4.3.2).
These services are supported as part of GSMA RCS Phase 1.

Mercuro also supports Pager mode (chap. 4.2.1) and Large Message Mode messaging (chap. 4.2.1).

Group Messages (chap. 4.2.2), Deferred Messages (chap. 4.2.3) and Predefined session mode messaging (chap. 4.3.1) will be supported in release 5.0.

Mercuro (PC version) uses Pager Mode and Large Message Mode messaging to simulate SMS/MMS services.
Mercuro uses OMA Final Delivery Reports (chap. 5.7) to simulate Negative/Positive Acknowledgement Mechanism for MMS messages.

For 1-to-1 mode the caller or callee can add new participants at any time. The exchanged message can contain both text and/or multimedia content (SMIL, images, videos ...).

End party activity (typing/composing) is indicated to all participants.

4. Content Sharing


4.1 Image Sharing

In 3GPP specifications Image sharing is defined as a service for sharing images between users during a mobile phone call (CS Call). These specifications were defined by the GSM Association for cellular network. For packet-only devices (e.g. Mercuro PC version) all these specifications do not apply. This mean that no CS voice call set up is required prior to sharing the images.
The Message Session Relay Protocol (MSRP), IETF RFC 4975, is mandatory for the Image Share Service. Image data information settings in SIP/SDP follow IETF File transfer RFC 5547 (previously [draft-ietf-mmusic-file-transfer-mech]).

To see how this feature is used in Mercuro IMS Client --> [http://imsclient.blogspot.com/2008/09/rcs-rich-communication-suite-image.html].

4.2 Video Sharing

This feature will be supported in release 5.0.

GSMA Video Sharing is vendor independent and a Peer-To-Peer service and doesn’t require special/dedicated server.
A compliant RCS Client shall be able to share live Video (by sharing the camera capture) and sharing pre-recorded Video is a handset implementation option.
Video codec H.263-2000 profile 0 level 45 is mandatory (QCIF). To have better Video quality MPEG4 Visual Simple Profile 0b and H.264/AVC Baseline Profile Level 1b could be optionally used.

5. File Transfer

Many technical references are common to GSMA Image Sharing but this service allows exchanging different types of content (text, documents, SMIL, videos …).
Both end clients (caller/callee) can start file transfer session during an ongoing session (CS/PS call) or without having an ongoing session.
Only 1-to-1 file transfer feature is supported in GSMA RCS phase 1 and only a single file can be transferred per session. Only sending/receiving files are supported and requesting files is not part of the GSMA RCS phase 1 use cases.

6. Main IETF/OMA specifications (3GPP omitted)

6.1 Enhanced address Book

[OMA-TS-XDM_Core-V1_1-20080627-A]
[OMA-WP-XDM_1_1_Implementation_Guidelines-20080627-C]
[OMA-TS-Presence-SIMPLE_Content_XDM-V1_0-20081223-C]
[OMA-TS-Presence_SIMPLE-V1_1-20080627-A]
[RFC 2387] + [RFC 3265] + [RFC 3857] + [RFC 3858] + [RFC 3863] + [RFC 3903] + [RFC 4662] + [RFC 4479] + [RFC 4480] + [RFC 4482] + [RFC 4483] + [RFC 4825] + [RFC 5025] + [RFC 5262] + [RFC 5264]

6.2 Enhanced Messaging (-minus those listed above)

[OMA-TS-SIMPLE_IM-V1_0-20080903-C]
[RFC 3862] + [RFC 3891] + [RFC 3994] + [RFC 4028] + [RFC 4145] + [RFC 4353] + [RFC 4488] + [RFC 4575] + [RFC 4579] + [RFC 4975] + [RFC 5366]

6.3 Image Sharing

[GSMA PRD IR.79 Image Share Interoperability Specification 1.0]
[RFC 4145] + [RFC 4575] + [RFC 4975] + [RFC 5547]

6.4 File Transfer

[OMA-TS-SIMPLE_IM-V1_0-20080903-C]
[RFC 4145] + [RFC 4575] + [RFC 4975] + [RFC 5547]