Cisco Blogs

Cisco Blog > Mobility

Deep Dive: Mobility Services APIs (with Sample Code!)

Last week, my colleague Rajiv walked you through an overview of how our Mobility Services API now supports REST based APIs. As a developer for the Mobility Services Engine (MSE) team, I am very excited about this update because it means that it will be easier for developers to create apps using the MS-API, which hopefully means that more and more organizations will be able to take advantage of the location-based services and functionalities of the MSE. I’m going use this blog to walk you through some of the more technical aspects of the change.

The Basics

The REST API is now widely used in the field of API based web applications. The REST stands for REpresentational State Transfer. It is an architecture that is based on set of six rules, and APIs that support REST follow all those rules, making them RESTful.

Compared to SOAP, REST has better performance, scalability, simplicity, modifiability, visibility, portability, and reliability. For secured REST API transactions, HTTPS is recommended.

RESTful Mobility Services API

7.5 applications, including features from the Connected Mobile Experiences (CMX) solution such as Browser Engage and CMX Analytics, are now supporting REST APIs in addition to the existing SOAP APIs previous releases (backward compatibility).

CMX utilizes the basic authentication scheme to authenticate each REST API request. It utilizes the Authorization header in the HTTP packet. The Authorization header is composed as follows:

- Username and password are combined into a string “username:password”.
- The resulting string literal is then encoded using Base64.
- The authorization method, a space and the string “Basic” is then put before the encoded string.

The API credentials can be accessed from Prime Infrastructure (PI), which manages CMX (page is located under Mobility Services > Specific MSE > System > Users).

As Rajiv mentioned last week, the Mobility Services REST APIs can be grouped in the following way:

-          MAP APIs

-          Real time location APIs

-          Location history APIs

-          Notification APIs

Let’s break them down with use cases to get a better picture of when you’d use which. Read More »

Tags: , , , , , , , , , , , , , , , , , , , , , , ,

Cisco Mobility Services APIs go RESTful

As a product manager, I am happy and excited to tell you that Cisco Mobility Services Engine (MSE) now supports REST based APIs. Why am I happy and excited you ask? MSE’s REST based APIs allow web app developers to rapidly develop location aware apps with ease.  Let me walk you through this new feature at a high level, and my colleague will take you through a closer look feature blog next week.

Mobility Services Engine and API support

For readers who are not familiar with the Cisco Mobility Service Engine and the APIs, here’s the gist:

-          Cisco Mobility Services Engine (MSE) works in conjunction with Cisco Wireless LAN Controller (WLC) and Cisco Aironet Access Points (APs) and computes real time location for all Wi-Fi end-points using RSSI based triangulation algorithms.

-          MSE stores real time and historical location of Wi-Fi clients in its database making it a gold mine of data for indoor location. (Remember that GPS technology is not effective for indoor location)

-          This rich store of indoor location data is now available to app developers to query through a REST based API over a secure HTTPS connection.

What can I do with MSE REST APIs?

MSE REST APIs allow web developers to query MSE location database using the HTTP(S) GET method. HTTP response payload can be received in XML or JSON format. Here is a list of resources that are accessible over the REST API. Read More »

Tags: , , , , , , , , , , , , , , ,

Cisco Hacks: Notes from the CMX Hackathon

Editor’s Note: This is a guest post by two Wireless Networking Group interns, Nonie Grewal and Nivedita Jagdale, to capture their thoughts on the Connected Mobile Experiences Hackathon that they helped plan and execute.

June 29th marked the start of the Connected Mobile Experiences (CMX) Hackathon in the Cisco San Jose campus. CMX, powered by the Mobility Services Engine, provides a unique way of providing personalized real time location services over Wi-Fi. CMX aims to increase customer-oriented and operational efficiencies through analytics and personalized mobile services. The contestants at the hackathon were invited to help build prototypes that could help complement these goals, focusing on enhancing user connectivity and visibility.


As summer college interns volunteering at the event, we walked into the Deep Space Nine room where the hackathon was held, to find clusters of intense developers at each table. With each passing minute, we felt the name “Deep Space” seemed apt for the cause it was hosting -- deep thought and real coding! Read More »

Tags: , , , , , , , , , , , , ,

Nexus 1000V and Virtual Network Overlays Play Pivotal Role in Software Defined Networks

June 14, 2012 at 4:00 am PST

There’s an incredible amount of hype and excitement these days around Software Defined Networking (SDN), which promises to herald in a new age of flexibility, business agility and automation to our existing data center and campus networks. Since there are very few, if any, SDN networks in production environments today, though, we know there are a lot of implementation details to work out before the industry achieves the lofty benefits of network programmability. Cisco opened its kimono this week on its strategy around programmable networks (an even broader concept than what we believe the traditional definition of SDN is), called Cisco Open Network Environment. (Get Omar’s take on Cisco ONE).

Open Network EnvironmentIf you are like a lot of people, you might think that SDN is synonymous with OpenFlow, the leading standards-based approach for SDN today. However, we are already seeing folks across the industry extending the SDN vision beyond what OpenFlow is currently envisioned to do, so we think the definition of SDN will probably evolve over the next year or so to include additional programming models and protocols. Cisco ONE, for example, includes three approaches to network programmability: 1) our own onePK set of API’s to Cisco network operation systems and devices, 2) a portfolio of agents and controllers that will support OpenFlow, among other things, and 3) our Nexus 1000V-based portfolio for building virtual network overlays.

Read More »

Tags: , , , , , , , , , , ,