Case Studies

Juniper Networks: Macadamian Leverages Junos SDK to Develop Innovative VoIP Recorder for Juniper Networks Partners

The Challenge

Juniper Networks customers – service providers and systems integrators – are continually under pressure to innovate, lower network operating costs, and evolve their business models. By offering differentiated and competitive applications, these organizations can stand out as innovators and capture new business opportunities. To successfully offer new features and services, however, service providers need to roll out new applications quickly and without expensive upgrades to their network infrastructure.

Providers of VoIP services face a particularly important challenge – not only are they looking for a more rapid service delivery model, they’re also looking to satisfy increased expectations from VoIP customers. As VoIP services and applications become more prevalent and mainstream, customers are demanding the same degree of service quality, features, and applications offered by traditional providers.

One such feature is the ability to capture VoIP traffic and save the audio in a form that can be listened to afterwards for quality assurance, marketing, compliance or training purposes. Macadamian Technologies has created a VoIP recording application: a reference version that will be included with Juniper Networks® Junos® SDK.

Creating Innovative Applications

Macadamian’s first experience with the Junos SDK involved implementing a VoIP recording application that could be useful to Junos SDK partners and demonstrate the value and flexibility of the Junos SDK.

Macadamian provides development, usability and product strategy services to organizations around the world, making the company a natural choice to build a reference application that would be well-designed and usable.

Using the Junos SDK, the Macadamian team built an application that can capture VoIP calls made on a Juniper router, record the audio, and capture specific details about the recorded calls such as caller and callee information.

Developing the VoIP Recorder

After drafting a feature specification document, Macadamian used code examples from the documentation to write supporting classes and sketch out code for setting the application’s dynamic firewall filters.

“We were able to quickly get up to speed on the Junos SDK and its included APIs and Junos OS libraries,” recalls Melanie Tayler, quality assurance project lead at Macadamian. “That allowed us to hit the ground running and start development almost immediately.”

Although Macadamian had not previously worked with the Junos SDK, the Macadamian team was able to quickly access the information it needed to get started. “We were very impressed with the quality of the materials provided by Juniper,” Tayler adds. “The Junos SDK was well documented and the training materials included video, which was extremely helpful.”

Using the Junos SDK, Macadamian began work on an application that would offer the following capabilities and features:

In addition to referencing sample applications included with the Junos SDK, Macadamian followed the Juniper training documentation and videos closely when developing the VoIP recorder.

“The application we were creating was, in some ways, similar to an example application called MoniTube that is provided as part of the Junos SDK,” Tayler notes. “All of the code, build, and deployment instructions for MoniTube were included, which provided us with a very helpful reference point when developing the VoIP recorder.” Macadamian found that much of the recorder’s initialization and configuration could be achieved by replacing MoniTube-specific code with VoIP recorder-specific code. The packet processing infrastructure could also be re-used, allowing Macadamian to skip some time-consuming architecture development and focus strictly on application-specific details. “We still needed to understand the code to understand what we needed to keep and what we didn’t,” says Tayler. “We also needed to understand how to replace the application-specific code, but we didn’t have to build a basic monitoring application from scratch.”

Creating a Feature-rich Application

Using the Junos SDK, Macadamian developed a data monitoring application running in the service plane that records specific VoIP calls by capturing the RTP packets for requested SIP dialogs. Macadamian also created a control plane-based application that provides user configuration and interaction, and communicates with the service plane-based application.

In the equivalent of 70 developer days, two full-time Macadamian developers –who began work with little knowledge of the Junos SDK – were able to create a powerful VoIP recorder that can record calls traveling through a service provider network.

“Off the mark, we knew that we were facing an aggressive schedule,” says Tayler. “Transportation issues with the hardware also increased the risk significantly, but the responsiveness of the Junos SDK support team, strong documentation and a little elbow grease allowed us to turn around the VoIP recorder quickly.”

Potential uses for the VoIP recorder include:

By recording calls and analyzing their content and specifications (duration of call, amount of time customers spend on hold, etc.) providers can identify and correct specific areas of weakness. Macadamian’s work helps to demonstrate that building on top of Junos OS software can shorten application development and deployment time and reduce on-going operational costs.

“We saw firsthand how the Junos SDK can dramatically reduce an application’s time-to-market,” says Tayler. “In a short timeframe we were able to educate ourselves on the Junos SDK and build a functioning solution tailored for VoIP providers. The benefits of the Junos SDK quickly became apparent.”

 

The experience of building an application with the Junos SDK has also given Macadamian valuable in-house expertise. “We are now very comfortable with the Junos SDK and would be able to efficiently build additional applications using the Junos SDK in the future,” says Tayler.

Juniper now plans to offer the VoIP recorder as an application shipped with the Junos SDK. Usable as both a reference application and a fully-functional recording application, the VoIP recorder can address an important VoIP service provider need and serve as a working example of the power of the Junos SDK.

Visit Site

macadamian
Français
Contact Us: 1-877-779-6336 or Email Us