SIP Proxy - A SIP servlet that implements a simple SIP Proxy. This shows the basics of how to implement a SIP Servlet and respond to SIP messages.
SIP Click-to-Dial - An example that lets a user click on a web page to place a call. Shows the basics of SIP registration and invitation, as well as how to share data between SIP and HTTP servlets.
Personal Assistant - An IMS Application Example Based on SIP Servlets and VoiceXML
Example Code for Mobicents AS
A number of applications inluding a 3rd party call controller, B2BUA, XMPP and even a Googletalk Bot.
Fraunhofer FOKUS IMS Community Mashup
Youtube video demonstrating their Geo-Communities Facebook Application
Ringback Tones Application
The Avaya DevConnect program has released a sample application. This application allows users to play an audio file of their choice to callers who ring them on their SIP phone. The audio file replaces the "ring ring" tone conventionally heard by callers whilst waiting for the user to answer.
You will need to download the app and the have following components installed:
- SIP A/S 7.1.10 or 7.2 installation
- SOOF 1.1
- Service Components 1.5
- Media Server: Cantata G2 v.1.4.1 or higher (2-port evaluation version), or Convedia CMS x000 v.4.8.1.4 or higher
- Web Server: Tomcat 5.5
- Database: Oracle 9i, 10g or Express Edition (XE)
..available from the DevConnect Evaluation downloads page
Click2Talk
Open Source implementation of a 3rd party call service called Click2Talk. This GoogleCode project also contains ParlayX Web Service components for Presence in IMS network.
This application implements a Ringtone Service using early media. When the INVITE arrives to the application server a call leg against a media server is stablished. The media server plays a ringtone based on the caller identity. The sdp of the media server session is used to generate a 183 response (early media) before proxying the original request downstream.
GenericDBProxy demonstrates the Proxy behaviour and the integration with databases via JDBC, using standard J2EE techniques. The application proxies incoming INVITE requests to a list of URIs retrieved from one of the several preconfigured Application Databases. Which database is queried, which statement is executed and which data is sent along, depends on the application prefix. The application looks for an application prefix in the request URI which uses to retrieve the query information from the Master DB.
The user of the application uses a web page or a web service to enter the callee adress as well as the details (username,password,domain) of the caller SIP account that will be used to make the calls. With all this data the application starts a 3pcc (3rd party call control, see RFC 3725) that first contacts the caller. When the caller answers a second callee call leg is started. When the callee answers both call legs are bridged using standard 3pcc techniques. The client (user of the web page or programatic webservice client) asks for the state of bot call legs using HTTP or SOAP calls repeatedly.