Media transfer in Unified Communications – SDP protocol

SDP-protocolMedia is another vital component of a Unified Communication system. Once signaling is in place and working between two endpoints, information about media capabilities can be transferred, eventually allowing for streaming audio, making video calls, or exchanging other information.

In this blog article we will analyze what technologies are used to transfer information about available media between endpoints.

SDP

SDP (Session Description Protocol) is a format for describing streaming media initialization parameters standardized by IETF in 1998.

What follows is the Session Description fields usage and an example:

Continue reading “Media transfer in Unified Communications – SDP protocol”

Introducing BOSH and WebSocket Transport protocols

BOSH and WebSocket protocolsThis time we will talk about transport protocols over the web, in particular, about BOSH and WebSocket.

Besides TCP (XMPP/SIP) and UDP (SIP only) transports, two other transports, BOSH and WebSocket, are available which are embedded inside existing TCP/HTTP stacks.

BOSH

Bidirectional-streams Over Synchronous HTTP (BOSH) allows real-time communication between a browser and a web server. The browser connects to the server and will keep the connection open as long as it has no data to send. When data is available, the server sends it over the open HTTP connection and closes the connection itself. This reduces the number of requests, as the browser is not continuously polling the server. The server retains a cache of events that the client missed between reconnections.

Continue reading “Introducing BOSH and WebSocket Transport protocols”

SIP and XMPP standards in Unified Communications

In this blog article we will discuss the basic standards used for real-time communications — SIP and XMPP — what is the difference, how each of them works, and, which one to choose.

SIP and XMPP

The IETF has two documented standards for real-time communications that are widely implemented: SIP and XMPP.

These standards transport text information and rely on other standards for the actual media transmission.

As both support real-time communications, many question which solution is most suited to their needs.

Let’s briefly explore the history and purpose of both.

Continue reading “SIP and XMPP standards in Unified Communications”

Web, Hybrid or Native Mobile Apps

Web, Hybrid or Native Mobile apps – which one to choose? In the previous blog article we discussed web-based communication solutions and their advantages over native ones. This time we will discover why it is more preferable to use native or hybrid applications for mobile devices.

Mobile devices like smartphones and tablets have two important limitations:

  • CPU and battery usage
  • Technology limitations

Because these two factors must be taken into account, collaboration apps for mobile phones must still be native or hybrid apps. Native means using Objective-C and Swift (with iOS devices) and Java (with Android devices). Hybrid means that a mix of native code and Webviews are included in the app.

Continue reading “Web, Hybrid or Native Mobile Apps”

Web-based vs Native apps: Which to Choose?

Web-based VS native administration is a long-standing dispute within this field. This topic is particularly important because it defines all of the user’s experience. Let’s examine, why web-based communication solutions are the best choice for delivering high service quality.

All new products now use web-based administration interfaces. Gone are the days of interfaces made with Java / QT. The advantages of this change include:

  • No software to install, and the interface is immediately available everywhere
  • Compatibility with all modern browsers
  • Support for mobile devices like tablets and smartphones
  • Security thanks to HTTPs
  • Web API might help when automating tasks

If the communication system you are developing or deploying does not use a web-based interface, please reconsider your choice. Web-based is really the best option. Continue reading “Web-based vs Native apps: Which to Choose?”