Enter SIP Objects.NET and SIP Servlets.NET
SIP Servlets.NET is a lower-level approach to converged applications development based on SIP, as it brings the JSR 116 API to the .NET environment without losing the benefits SIP A/S provides, such as scalability and high availability. SIP Servlets.NET allows you, as a .NET developer, to manipulate SIP messages to create complex applications within the SIP Servlet container.
SIP Servlets.NET provides wizard-driven templates for developers, so you only need to fill out parts of the code. Similar to Avaya's Ubiquity Developer Studio (UDS), a plug-in for Microsoft's Visual Studio is installed with SIP Servlets.NET through which you have access to Avaya's Ubiquity Development Environment (UDE) for control and management of SIP servlets. You simply build your servlets in Visual Studio and all the deployment work is done in the background.
The main benefit, to you as a developer, is that you can use a familiar framework, APIs and a familiar integrated development environment (IDE). Typically with SIP development, if a functional requirement is out of the scope of JSR 116, you have to go into the Java framework, get the APIs and compose everything you need. SIP Servlets.NET makes this process analogous for .NET developers—instead of digging through and learning the Java APIs, you can pick APIs from the .NET framework.
For example, if you want to provide database access from a SIP servlet, you can use facilities from the .NET framework, and access it through the ADO.NET API, or expose Web services through the ASP.NET API. You use the APIs you're familiar with—you don't need to know the Java platform or Eclipse. All you need to learn is the SIP servlet API.
Exposing the whole SIP Servlet API to you may be more than you want to absorb, so for developers the SIP Objects.NET was created. SIP Objects.NET allows you to incorporate telephony services, like conferencing or call forwarding, into your .NET applications without having to understand the nature and structure of SIP messages. It is based on OWS and exposes a predefined set of functionality, such as third-party call conferencing, call notification, and audio conferencing. OWS is based on Parlay X, a telecom standard that defines APIs in a Web services way.
SIP Objects.NET allows you to add telecommunications components to your applications within the familiar Visual Studio development environment. Deployment then requires a .NET runtime environment on the client and on the server side, a SIP A/S on which the required Open Web Services are deployed. We'll get into the deployment in the next article.
For example, you can create a simple Web page in ASP.NET that does third-party calling with SIP Objects.NET in only three lines of code. You create a button on the Web page and inside the click event handler you create a Call object and invoke a method called MakeCall, referencing both of the endpoints that you are trying to connect. If you want to monitor what is happening with the call, you can simply do it through the standard .NET events exposed on that Call object.
Case in Point
Converged application development is very similar to creating any other application within .NET. You can drag and drop telephony enabled components on the form, then define the event handlers and write the code that drives the application.
Call functionality from Web pages, such as in a click-to-dial application, could be surprisingly difficult to accomplish, but no longer do you as a .NET developer need to know a complex telecom API. The process is intuitive and simple with SIP Objects.NET and Visual Studio.
Inova IT already provides a commercial-grade application that is built on SIP Objects.NET. The Click2Call application highlights numbers found in Web browsers, email clients and document and spreadsheet editors as clickable hyperlinks. When a user clicks on a hyperlink, Click2Call uses the SIP Objects.NET to access the third-party calling capability exposed by the SIP A/S.
End Point
.NET developers with no telephony experience can use SIP Objects.NET in conjunction with SIP Servlets.NET, Microsoft Visual Studio, Microsoft Windows Workflow Foundation, UDS, UDE and the SIP A/S to easily create converged applications in a familiar environment. SIP development using these development tools fits into the look and feel of how .NET applications are being developed and into the .NET framework.
The next step is to deploy and manage your applications. In part two, we'll delve deeper into the infrastructure of SIP Objects.NET and SIP Servlets.NET, learn how it exposes telephony features and explore how we benefit from the SIP A/S Gateway for Connected Services Framework.