MACADAMIAN LEVERAgES JUNOS SDK TO
DEVELOP INNOVATIVE VOIP RECORDER fOR
JUNIPER NETWORKS PARTNERS
Macadamian rapidly develops a new call recording application
for VoIP providers
Juniper Networks customers – service providers and systems integrators – are continually
Challenges: under pressure to innovate, lower network operating costs, and evolve their business
• Customer expectations for Voice models. By offering differentiated and competitive applications, these organizations can
over IP services and applications are stand out as innovators and capture new business opportunities. To successfully offer
increasing as VoIP services become new features and services, however, service providers need to roll out new applications
more prevalent and mainstream quickly and without expensive upgrades to their network infrastructure.
• VoIP providers are seeking new and Providers of VoIP services face a particularly important challenge – not only are they
innovative telephony features to looking for a more rapid service delivery model, they’re also looking to satisfy increased
differentiate their offerings from both expectations from VoIP customers. As VoIP services and applications become more
traditional service providers and other prevalent and mainstream, customers are demanding the same degree of service quality,
VoIP providers features, and applications offered by traditional providers.
Solution: One such feature is the ability to capture VoIP traffic and save the audio in a form that
• Leverage the Junos SDK to develop can be listened to afterwards for quality assurance, marketing, compliance or training
an application that captures purposes. Macadamian Technologies has created a VoIP recording application: a
VoIP traffic, records the audio reference version that will be included with Juniper Networks® Junos® SDK.
and indicates caller and callee
Creating Innovative Applications
Macadamian’s first experience with the Junos SDK involved implementing a VoIP
• The Junos SDK allows developers to
recording application that could be useful to Junos SDK partners and demonstrate the
build additional intelligence fulfilling
value and flexibility of the Junos SDK.
business and technical challenges
Macadamian provides development, usability and product strategy services to
unique to each network
organizations around the world, making the company a natural choice to build a reference
application that would be well-designed and usable.
• Developers can witness the abilities
Using the Junos SDK, the Macadamian team built an application that can capture VoIP
and flexibility of the Junos SDK first-
calls made on a Juniper router, record the audio, and capture specific details about the
hand through a practical, working
recorded calls such as caller and callee information.
• Service providers can easily record Developing the VoIP Recorder
and access calls made over a VoIP After drafting a feature specification document, Macadamian used code examples
network for training, compliance, from the documentation to write supporting classes and sketch out code for setting the
marketing and security purposes application’s dynamic firewall filters.
• Service providers can mine data and “We were able to quickly get up to speed on the Junos SDK and its included APIs and
access important business analytics Junos OS libraries,” recalls Melanie Tayler, quality assurance project lead at Macadamian.
information from the calls travelling “That allowed us to hit the ground running and start development almost immediately.”
through their network
Although Macadamian had not previously worked with the Junos “Off the mark, we knew that we were facing an aggressive
SDK, the Macadamian team was able to quickly access the schedule,” says Tayler. “Transportation issues with the hardware
information it needed to get started. “We were very impressed also increased the risk significantly, but the responsiveness of the
with the quality of the materials provided by Juniper,” Tayler adds. Junos SDK support team, strong documentation and a little elbow
“The Junos SDK was well documented and the training materials grease allowed us to turn around the VoIP recorder quickly.”
included video, which was extremely helpful.” Potential uses for the VoIP recorder include:
Using the Junos SDK, Macadamian began work on an application • Training: Calls by front-line customer service staff can be
that would offer the following capabilities and features: recorded and used to train new employees and monitor existing
• Capture the audio of calls initiated by SIP over UDP service levels.
• filter calls based on the SIP address of the call originator • Marketing: Post-conversation analyses of recorded calls can
• Provide a command line interface menu for accessing data identify key customer words or phrases to identify trends or
• Determine which packets would be sampled on the fly product opportunities. In addition, the recorder can identify the
• Be written using C++ caller phone number – allowing for analyses that could include
In addition to referencing sample applications included with the Junos demographics such as common caller geographies.
SDK, Macadamian followed the Juniper training documentation and • Security: Calls and conversations can be monitored by service
videos closely when developing the VoIP recorder. providers for national security purposes.
“The application we were creating was, in some ways, similar • Compliance: In addition to providing insight into internal service
to an example application called MoniTube that is provided as levels and processes, recorded calls can be used as evidence
part of the Junos SDK,” Tayler notes. “All of the code, build, and when regulatory disputes arise.
deployment instructions for MoniTube were included, which • Business Analytics: Calls traveling through a network of any
provided us with a very helpful reference point when developing size can contain valuable business insights. By recording calls
the VoIP recorder.” and analyzing their content and specifications (duration of call,
amount of time customers spend on hold, etc.) providers can
Macadamian found that much of the recorder’s initialization and
identify and correct specific areas of weakness.
configuration could be achieved by replacing MoniTube-specific
Macadamian’s work helps to demonstrate that building on top
code with VoIP recorder-specific code. The packet processing
of Junos OS software can shorten application development and
infrastructure could also be re-used, allowing Macadamian to
deployment time and reduce on-going operational costs.
skip some time-consuming architecture development and focus
strictly on application-specific details. “We saw firsthand how the Junos SDK can dramatically reduce an
application’s time-to-market,” says Tayler. “In a short timeframe
“We still needed to understand the code to understand what we
we were able to educate ourselves on the Junos SDK and build a
needed to keep and what we didn’t,” says Tayler. “We also needed
functioning solution tailored for VoIP providers. The benefits of the
to understand how to replace the application-specific code, but we
Junos SDK quickly became apparent.”
didn’t have to build a basic monitoring application from scratch.”
The experience of building an application with the Junos SDK
Creating a Feature-rich Application has also given Macadamian valuable in-house expertise. “We are
Using the Junos SDK, Macadamian developed a data monitoring now very comfortable with the Junos SDK and would be able to
application running in the service plane that records specific VoIP efficiently build additional applications using the Junos SDK in the
calls by capturing the RTP packets for requested SIP dialogs. future,” says Tayler.
Macadamian also created a control plane-based application that
Juniper now plans to offer the VoIP recorder as an application
provides user configuration and interaction, and communicates
shipped with the Junos SDK. Usable as both a reference
with the service plane-based application.
application and a fully-functional recording application, the VoIP
In the equivalent of 70 developer days, two full-time Macadamian recorder can address an important VoIP service provider need and
developers –who began work with little knowledge of the Junos serve as a working example of the power of the Junos SDK.
SDK – were able to create a powerful VoIP recorder that can
record calls traveling through a service provider network.
About Macadamian About Juniper Networks
Macadamian is a global software consultancy that helps Juniper Networks is in the business of network innovation. from
companies create successful products. Product development devices to data centers, from consumers to cloud providers,
leaders turn to Macadamian to develop product strategies, design Juniper Networks delivers the software, silicon and systems that
compelling user experiences, and build quality software. We transform the experience and economics of networking. The
transform ideas into market-ready products that your customers company serves customers and partners worldwide. Additional
will love. for more information, please visit www.macadamian.com information can be found at www.juniper.net.
or email email@example.com.
Corporate and Sales Headquarters APAC Headquarters EMEA Headquarters To purchase Juniper Networks solutions,
Juniper Networks, Inc. Juniper Networks (Hong Kong) Juniper Networks Ireland please contact your Juniper Networks
1194 North Mathilda Avenue 26/f, Cityplaza One Airside Business Park representative at 1-866-298-6428 or
Sunnyvale, CA 94089 USA 1111 King’s Road Swords, County Dublin, Ireland
Phone: 888.JUNIPER (888.586.4737) Taikoo Shing, Hong Kong Phone: 35.31.8903.600
or 408.745.2000 Phone: 852.2332.3636 EMEA Sales: 00800.4586.4737
fax: 408.745.2100 fax: 852.2574.7803 fax: 35.31.8903.601
Copyright 2011 Juniper Networks, Inc. All rights reserved. Juniper Networks, the Juniper Networks logo, Junos,
NetScreen, and ScreenOS are registered trademarks of Juniper Networks, Inc. in the United States and other
countries. All other trademarks, service marks, registered marks, or registered service marks are the property of
their respective owners. Juniper Networks assumes no responsibility for any inaccuracies in this document. Juniper
Networks reserves the right to change, modify, transfer, or otherwise revise this publication without notice.
3520387-001-EN feb 2011 Printed on recycled paper