The document is a major project report on developing a Play & Record with Dtmf service based on JSLEE. It includes an acknowledgment section and outlines the following contents: project goal, structure of the report, theoretical basis on JSLEE, Convedia Media Server 3000, MSML and control channels, the used practical framework, the developed service including functionality and library development/integration, and a conclusion.
1. The document describes an architecture for providing wireless internet telephony services using mobile agents.
2. The key components are mobile service agents (MSAs) that carry subscribed services for users, a service creation unit (SCU) that develops services, a service management unit (SMU) that manages subscriptions and MSAs, and a service publication unit (SPU) that publishes available services.
3. The architecture addresses updating services and agents when subscriptions change through two approaches: swapping entire agents and their data, or dynamically updating individual services and agents on-the-fly.
The document provides an overview of client/server architecture. It discusses the introduction and vision of client/server computing, characteristics of clients and servers, and merits and demerits compared to peer-to-peer networks. It also covers different types of servers like file servers and database servers. Key aspects of client/server architecture include separating functions between clients and servers, centralized data storage and management on servers, and communication through message passing.
The document discusses potential solutions for integrating two different versions of Siebel. It evaluates Universal Application Network (UAN), Websphere Business Integration (WBI), Siebel Integration Layer, Siebel Master Data Applications, and a third-party custom application. Each solution is described and evaluated based on criteria like complexity, coupling, reliability, and simplicity. The document concludes that the Siebel Integration Layer provides the best solution due to its simplicity, flexibility, time to market, and reliability compared to the other options. Diagrams of sample architectures are also included in the appendix.
The document provides an acknowledgement for the completion of a project titled "LAN CHAT MESSENGER (LCM)". It expresses gratitude to the project guide and head of the computer science department for their guidance and support. It also thanks the director of the institute for encouragement. Signatures from the involved teacher, head of department, and director are provided to certify that the project was completed under supervision. The document includes contents like introduction, fundamentals, software requirements specification, analysis, design, testing, snapshots of the software, future scope, and conclusion. It aims to develop a messaging software that allows users connected to the same local area network to communicate via live chat and file sharing while filtering unwanted content.
International Journal of Engineering Research and DevelopmentIJERD Editor
Electrical, Electronics and Computer Engineering,
Information Engineering and Technology,
Mechanical, Industrial and Manufacturing Engineering,
Automation and Mechatronics Engineering,
Material and Chemical Engineering,
Civil and Architecture Engineering,
Biotechnology and Bio Engineering,
Environmental Engineering,
Petroleum and Mining Engineering,
Marine and Agriculture engineering,
Aerospace Engineering.
This document discusses using Android applications to control LEGO Mindstorms NXT robots. It first reviews related previous works using smartphones and tablets to control robots. It then discusses different robotic platforms and software options for interfacing Android with robots, including the IOIO board, LEGO Mindstorms NXT, Lejos Mindstorms NXJ technology, and App Inventor. The document goes on to demonstrate using LabVIEW and App Inventor to program NXT robots from an Android device and implement PID control algorithms to create self-balancing robots.
Mohit Suri designed and simulated a 5-link robotic arm in Creo and Matlab-Simulink. The robotic arm was modeled with individual control loops for each joint to pick and place objects. Gains were selected by testing the system response and stability. The simulation showed the uncontrolled system response compared to the controlled system achieving the pick and place task. While heavy end-effector inertia caused instability, modifying the Creo design was proposed to improve the simulation results. The project increased skills in applying robotics equations and models to a real-time application.
This document describes a metal detecting robot built on an 8051 microcontroller. The robot moves forward on a base mounted with an inductive metal detector. When metal is detected, a signal is sent to the microcontroller to stop the robot and activate a buzzer. It uses a 5V power supply with a 7805 regulator. The robot can be used for applications in robotics and automatic control systems.
1. The document describes an architecture for providing wireless internet telephony services using mobile agents.
2. The key components are mobile service agents (MSAs) that carry subscribed services for users, a service creation unit (SCU) that develops services, a service management unit (SMU) that manages subscriptions and MSAs, and a service publication unit (SPU) that publishes available services.
3. The architecture addresses updating services and agents when subscriptions change through two approaches: swapping entire agents and their data, or dynamically updating individual services and agents on-the-fly.
The document provides an overview of client/server architecture. It discusses the introduction and vision of client/server computing, characteristics of clients and servers, and merits and demerits compared to peer-to-peer networks. It also covers different types of servers like file servers and database servers. Key aspects of client/server architecture include separating functions between clients and servers, centralized data storage and management on servers, and communication through message passing.
The document discusses potential solutions for integrating two different versions of Siebel. It evaluates Universal Application Network (UAN), Websphere Business Integration (WBI), Siebel Integration Layer, Siebel Master Data Applications, and a third-party custom application. Each solution is described and evaluated based on criteria like complexity, coupling, reliability, and simplicity. The document concludes that the Siebel Integration Layer provides the best solution due to its simplicity, flexibility, time to market, and reliability compared to the other options. Diagrams of sample architectures are also included in the appendix.
The document provides an acknowledgement for the completion of a project titled "LAN CHAT MESSENGER (LCM)". It expresses gratitude to the project guide and head of the computer science department for their guidance and support. It also thanks the director of the institute for encouragement. Signatures from the involved teacher, head of department, and director are provided to certify that the project was completed under supervision. The document includes contents like introduction, fundamentals, software requirements specification, analysis, design, testing, snapshots of the software, future scope, and conclusion. It aims to develop a messaging software that allows users connected to the same local area network to communicate via live chat and file sharing while filtering unwanted content.
International Journal of Engineering Research and DevelopmentIJERD Editor
Electrical, Electronics and Computer Engineering,
Information Engineering and Technology,
Mechanical, Industrial and Manufacturing Engineering,
Automation and Mechatronics Engineering,
Material and Chemical Engineering,
Civil and Architecture Engineering,
Biotechnology and Bio Engineering,
Environmental Engineering,
Petroleum and Mining Engineering,
Marine and Agriculture engineering,
Aerospace Engineering.
This document discusses using Android applications to control LEGO Mindstorms NXT robots. It first reviews related previous works using smartphones and tablets to control robots. It then discusses different robotic platforms and software options for interfacing Android with robots, including the IOIO board, LEGO Mindstorms NXT, Lejos Mindstorms NXJ technology, and App Inventor. The document goes on to demonstrate using LabVIEW and App Inventor to program NXT robots from an Android device and implement PID control algorithms to create self-balancing robots.
Mohit Suri designed and simulated a 5-link robotic arm in Creo and Matlab-Simulink. The robotic arm was modeled with individual control loops for each joint to pick and place objects. Gains were selected by testing the system response and stability. The simulation showed the uncontrolled system response compared to the controlled system achieving the pick and place task. While heavy end-effector inertia caused instability, modifying the Creo design was proposed to improve the simulation results. The project increased skills in applying robotics equations and models to a real-time application.
This document describes a metal detecting robot built on an 8051 microcontroller. The robot moves forward on a base mounted with an inductive metal detector. When metal is detected, a signal is sent to the microcontroller to stop the robot and activate a buzzer. It uses a 5V power supply with a 7805 regulator. The robot can be used for applications in robotics and automatic control systems.
The document describes a project to enhance the control of a robotic arm by allowing users to interact with a virtual robotic arm setup in Blender that is connected in real-time to a physical robotic arm with a microcontroller and servo motors. The virtual arm setup will mirror the movements of the physical arm, enabling more intuitive user control. A 3DOF robotic arm is used that can move in XYZ directions and has additional sensors, with the goal of making robotic arm control more interactive and user-friendly through a virtual interface.
This document describes a project report on a Bluetooth controlled robot. It includes a declaration signed by four students certifying the work as their own, carried out under the guidance of their project supervisor. It also includes a certificate from the project supervisor and head of department confirming the project is the students' own work. The document outlines the various chapters that will be included, such as an introduction, hardware and software requirements, description of components used, the conclusion and future scope.
The document analyzes the repeatability of an industrial robotic arm. Six experiments were designed with variations in point density, path sequence, and speed of movement. The robot traced points in grids repetitively and the displacement errors were measured. Statistical analysis using ANOVA and box plots showed that repeatability is most affected by speed of movement, with errors increasing at higher speeds. Path sequence and point density also impact repeatability but to a lesser degree. The results provide insight into how to minimize positional errors under different working conditions.
Design and operation of synchronized robotic armeSAT Journals
Abstract The paper manuscript deals with the designing and implementation of Synchronized Robotic Arm, which is used to perform all the basic activities like picking up objects and placing them. In this paper, a robotic arm is designed, synchronized with the working arm and would perform the task as the working arm does. The work done by the robotic arm would be highly precise, as a digital servo motor is used. A servo motor of 230 oz-inch is used in the project, but motors with more capacity can also be used as according to the desired work. This robotic arm can also be used for precision works. For instance some work has to be done very precisely but the conditions do not suit human beings. In such conditions, this robotic arm can be used remotely and the task can be accomplished. The programming is done on ATMEGA-8 Microcontroller using Arduino programming. The potentiometers are also used to detect the angle of rotation and the signals are then sent to the microcontroller. In today’s world, this Robotic arm has turned out very benevolent. Besides Robotics and Automation, these kinds of arms have applications in other fields also. Keywords –Arduino, ATMEGA-8, IC, Potentiometers, Servo Motors
Jim Stertz: Automation and Robotic Arm: Maximizing Throughput and Capacity360mnbsu
A medical device contract manufacturer developed and implemented an automated system and a robotic arm to tend three inspection Coordinate Measuring Machines. This presentation will be a case study of their throughput, uptime, and capacity expansions using automation.
From the 2014 Taking Shape Summit: The Internet of Things & the Future of Manufacturing.
This document summarizes the objectives and implementation of a wireless controlled robotic arm project. The objectives are to understand robot configuration and programming, construct an electrical diagram, and fabricate and test a robot. The project is implemented using an AT89S52 microcontroller, RF transmitter and receiver modules, and DC motors. The robotic arm consists of links connected by joints, resembling a human arm, and can be programmed to perform automated tasks like assembly and packaging.
The present condition in Industry is that they are using the crane system to carry the parcels from one place to another, including harbors. Some times the lifting of big weights may cause the breakage of lifting materials and will cause damage to the parcels too. Application of the proposed system is for industries. The robot movement depends on the track. Use of this robot is to transport the materials from one place to another place in the industry.
A robot is a machine designed to execute one or more tasks repeatedly, with speed and precision. There are as many different types of robots as there are tasks for them to perform. A robot can be controlled by a human operator, sometimes from a great distance. In such type of applications wireless communication is more important.
In robotic applications, generally we need a remote device to control. If we use IR remote device, it is just limited to meters distance and also if any obstacle is in between its path then there will be no communication. If we consider, RF modules for remote operations there is no objection whether an obstacle is present in its path. So that it is very helpful to control robot.
RF modules itself can generates its carrier frequency which is around 2.4 GHz. We need to generate serial data using micro controller and fed to the RF transmitting module. On other side RF receiver receives sent data as RF signals and given to another micro controller. Here, RF receiver itself demodulates the data from carrier signal and generate serial data as output.
Smart phone based robotic control for surveillance applicationseSAT Journals
Abstract The robotics and automation industry which is ruled the sectors from manufacturing to household entertainments. It is widely used because of its simplicity and ability to modify to meet changes of needs. The project is designed to develop a robotic vehicle using android application for remote operation attached with wireless camera for monitoring purpose. The robot along with camera can wirelessly transmit real time video with night vision capabilities. This is kind of robot can be helpful for spying purpose in war fields. Keywords: Android, Robot, Bluetooth, Robotic control
This document describes a DTMF controlled robot project. It includes a list of components used, descriptions of the Arduino, chassis, motors, integrated circuits, and circuit diagram. It explains how the robot works by receiving DTMF tones from a calling mobile phone, decoding the tones using an MT8870 chip, and sending signals to motors. It includes a flowchart, code, and references. The key aspects are that the robot is controlled remotely via DTMF tones from a calling mobile phone and uses an Arduino, motor driver, and DTMF decoder chip to receive tones and control motors accordingly.
The document describes a mobile controlled robot project. It uses two mobile phones, with one as the transmitter and the other as the receiver attached to the robot. When buttons are pressed on the transmitter phone, DTMF tones are generated and received by the receiver phone. The tones are decoded by a microcontroller which controls motors via a motor driver to move the robot forward, backward, left, and right. A wireless camera attached to the robot transmits video to an output screen. The robot has a range as large as the mobile network coverage area and allows remote monitoring and control.
Android Operated Wireless Robot Using 8051 MCUKamal Pradhan
This document is a certificate certifying that Kamal Pradhan completed a project report entitled "Android Controlled Wireless Robot Using 8051(AT89S52) Micro controller" under the guidance of Mr. Santanu Kumar Dash for the 2013-2014 session. The project report fulfills the necessary requirements and regulations for submission. Kamal Pradhan thanks various people who helped with the project including his guide Mr. Dash and director Prof. S.S. Pujari.
This document describes the design of a pick and place robotic arm. It begins with an introduction to pick and place robots and their importance in industry. It then discusses the hardware components used in the robotic arm, including the ATmega16 microcontroller, motors, sensors and other electrical components. The document explains how these components are connected and how the robotic arm will function. It concludes with a discussion of the software tools used and future applications of the robotic arm.
Servo Based 5 Axis Robotic Arm Project ReportRobo India
Robo India presents a project report on servo motor based 5 axis robotic arm.
This project is operated through PC software that is made in Visual Basic. AVR family's Atmel Atmega 8 is used in controller board, it runs on Arduino IDE platform.
Detailed mechnical drawings of all of the parts are also given.
We welcome all of your views and queries.
Thanks & Regards
Team Robo India
www.roboindia.com
info@roboindia.com
This project aims to design a Bluetooth controlled robot car that can be controlled using an Android phone or laptop. An Atmega8 microcontroller is used for serial communication via a Bluetooth HC-05 module using embedded C programming. The HC-05 module allows wireless Bluetooth control of the robot car from a phone or laptop. An L293D motor driver is used to control the motors based on commands received over Bluetooth from the Android device.
The document describes a project to create a robot that is controlled by an Android application using Bluetooth connectivity. A group of five students created the robot under the guidance of a project guide. The robot uses a microcontroller and Bluetooth module to receive commands from an Android phone app and control two DC motors. The goal is to allow remote control of the robot's movement in four directions using an Android phone as a wireless remote control via Bluetooth.
The document describes a final year project report submitted by Muhammad Ahkam Khan and Muhammad Waqar to the Department of Electrical Engineering at National University of Computer and Emerging Sciences in Peshawar, Pakistan in June 2013 for their Bachelor of Electrical Engineering degree, on developing a wireless gesture controlled robot.
This document discusses the design and development of a robotic hand controlled by a glove. The robotic hand uses servos to mimic the motion of individual human fingers as controlled by sensors in the glove. It describes the components used - flex sensors in the glove, an Arduino microcontroller, and servos in the robotic hand. The document outlines the working principle and potential applications of this robotic hand system, such as in factories or for people with disabilities. It aims to develop a versatile robotic hand concept among business students.
Workflow On The Fly Monitoring SolutionRoman Agaev
This document discusses potential approaches for monitoring Siebel workflow execution, including:
1. Workflow persistence which stores workflow state to allow interrupted processes to resume.
2. Siebel Application Response Management (SARM) which captures timing data for monitoring performance.
3. Siebel environment logging which records errors to server log files.
4. A Workflow Instance Monitor view which provides a history of all workflow process and step instances.
The document evaluates these options and their tradeoffs for monitoring workflow processes in Siebel applications.
Client/Server Paradigm And Its ImplementationRoman Agaev
The document proposes a client/server architecture and implementation for enabling messaging capabilities across the Siebel application. It involves creating a cacheable business service that manages messages in a queue. The design also includes browser-side and server-side scripts to display messages, as well as client and server applications that communicate via XMLRPC to enable messaging without a user context. Code examples demonstrate how the messaging engine would function within the Siebel environment and across client/server.
The document describes a project to enhance the control of a robotic arm by allowing users to interact with a virtual robotic arm setup in Blender that is connected in real-time to a physical robotic arm with a microcontroller and servo motors. The virtual arm setup will mirror the movements of the physical arm, enabling more intuitive user control. A 3DOF robotic arm is used that can move in XYZ directions and has additional sensors, with the goal of making robotic arm control more interactive and user-friendly through a virtual interface.
This document describes a project report on a Bluetooth controlled robot. It includes a declaration signed by four students certifying the work as their own, carried out under the guidance of their project supervisor. It also includes a certificate from the project supervisor and head of department confirming the project is the students' own work. The document outlines the various chapters that will be included, such as an introduction, hardware and software requirements, description of components used, the conclusion and future scope.
The document analyzes the repeatability of an industrial robotic arm. Six experiments were designed with variations in point density, path sequence, and speed of movement. The robot traced points in grids repetitively and the displacement errors were measured. Statistical analysis using ANOVA and box plots showed that repeatability is most affected by speed of movement, with errors increasing at higher speeds. Path sequence and point density also impact repeatability but to a lesser degree. The results provide insight into how to minimize positional errors under different working conditions.
Design and operation of synchronized robotic armeSAT Journals
Abstract The paper manuscript deals with the designing and implementation of Synchronized Robotic Arm, which is used to perform all the basic activities like picking up objects and placing them. In this paper, a robotic arm is designed, synchronized with the working arm and would perform the task as the working arm does. The work done by the robotic arm would be highly precise, as a digital servo motor is used. A servo motor of 230 oz-inch is used in the project, but motors with more capacity can also be used as according to the desired work. This robotic arm can also be used for precision works. For instance some work has to be done very precisely but the conditions do not suit human beings. In such conditions, this robotic arm can be used remotely and the task can be accomplished. The programming is done on ATMEGA-8 Microcontroller using Arduino programming. The potentiometers are also used to detect the angle of rotation and the signals are then sent to the microcontroller. In today’s world, this Robotic arm has turned out very benevolent. Besides Robotics and Automation, these kinds of arms have applications in other fields also. Keywords –Arduino, ATMEGA-8, IC, Potentiometers, Servo Motors
Jim Stertz: Automation and Robotic Arm: Maximizing Throughput and Capacity360mnbsu
A medical device contract manufacturer developed and implemented an automated system and a robotic arm to tend three inspection Coordinate Measuring Machines. This presentation will be a case study of their throughput, uptime, and capacity expansions using automation.
From the 2014 Taking Shape Summit: The Internet of Things & the Future of Manufacturing.
This document summarizes the objectives and implementation of a wireless controlled robotic arm project. The objectives are to understand robot configuration and programming, construct an electrical diagram, and fabricate and test a robot. The project is implemented using an AT89S52 microcontroller, RF transmitter and receiver modules, and DC motors. The robotic arm consists of links connected by joints, resembling a human arm, and can be programmed to perform automated tasks like assembly and packaging.
The present condition in Industry is that they are using the crane system to carry the parcels from one place to another, including harbors. Some times the lifting of big weights may cause the breakage of lifting materials and will cause damage to the parcels too. Application of the proposed system is for industries. The robot movement depends on the track. Use of this robot is to transport the materials from one place to another place in the industry.
A robot is a machine designed to execute one or more tasks repeatedly, with speed and precision. There are as many different types of robots as there are tasks for them to perform. A robot can be controlled by a human operator, sometimes from a great distance. In such type of applications wireless communication is more important.
In robotic applications, generally we need a remote device to control. If we use IR remote device, it is just limited to meters distance and also if any obstacle is in between its path then there will be no communication. If we consider, RF modules for remote operations there is no objection whether an obstacle is present in its path. So that it is very helpful to control robot.
RF modules itself can generates its carrier frequency which is around 2.4 GHz. We need to generate serial data using micro controller and fed to the RF transmitting module. On other side RF receiver receives sent data as RF signals and given to another micro controller. Here, RF receiver itself demodulates the data from carrier signal and generate serial data as output.
Smart phone based robotic control for surveillance applicationseSAT Journals
Abstract The robotics and automation industry which is ruled the sectors from manufacturing to household entertainments. It is widely used because of its simplicity and ability to modify to meet changes of needs. The project is designed to develop a robotic vehicle using android application for remote operation attached with wireless camera for monitoring purpose. The robot along with camera can wirelessly transmit real time video with night vision capabilities. This is kind of robot can be helpful for spying purpose in war fields. Keywords: Android, Robot, Bluetooth, Robotic control
This document describes a DTMF controlled robot project. It includes a list of components used, descriptions of the Arduino, chassis, motors, integrated circuits, and circuit diagram. It explains how the robot works by receiving DTMF tones from a calling mobile phone, decoding the tones using an MT8870 chip, and sending signals to motors. It includes a flowchart, code, and references. The key aspects are that the robot is controlled remotely via DTMF tones from a calling mobile phone and uses an Arduino, motor driver, and DTMF decoder chip to receive tones and control motors accordingly.
The document describes a mobile controlled robot project. It uses two mobile phones, with one as the transmitter and the other as the receiver attached to the robot. When buttons are pressed on the transmitter phone, DTMF tones are generated and received by the receiver phone. The tones are decoded by a microcontroller which controls motors via a motor driver to move the robot forward, backward, left, and right. A wireless camera attached to the robot transmits video to an output screen. The robot has a range as large as the mobile network coverage area and allows remote monitoring and control.
Android Operated Wireless Robot Using 8051 MCUKamal Pradhan
This document is a certificate certifying that Kamal Pradhan completed a project report entitled "Android Controlled Wireless Robot Using 8051(AT89S52) Micro controller" under the guidance of Mr. Santanu Kumar Dash for the 2013-2014 session. The project report fulfills the necessary requirements and regulations for submission. Kamal Pradhan thanks various people who helped with the project including his guide Mr. Dash and director Prof. S.S. Pujari.
This document describes the design of a pick and place robotic arm. It begins with an introduction to pick and place robots and their importance in industry. It then discusses the hardware components used in the robotic arm, including the ATmega16 microcontroller, motors, sensors and other electrical components. The document explains how these components are connected and how the robotic arm will function. It concludes with a discussion of the software tools used and future applications of the robotic arm.
Servo Based 5 Axis Robotic Arm Project ReportRobo India
Robo India presents a project report on servo motor based 5 axis robotic arm.
This project is operated through PC software that is made in Visual Basic. AVR family's Atmel Atmega 8 is used in controller board, it runs on Arduino IDE platform.
Detailed mechnical drawings of all of the parts are also given.
We welcome all of your views and queries.
Thanks & Regards
Team Robo India
www.roboindia.com
info@roboindia.com
This project aims to design a Bluetooth controlled robot car that can be controlled using an Android phone or laptop. An Atmega8 microcontroller is used for serial communication via a Bluetooth HC-05 module using embedded C programming. The HC-05 module allows wireless Bluetooth control of the robot car from a phone or laptop. An L293D motor driver is used to control the motors based on commands received over Bluetooth from the Android device.
The document describes a project to create a robot that is controlled by an Android application using Bluetooth connectivity. A group of five students created the robot under the guidance of a project guide. The robot uses a microcontroller and Bluetooth module to receive commands from an Android phone app and control two DC motors. The goal is to allow remote control of the robot's movement in four directions using an Android phone as a wireless remote control via Bluetooth.
The document describes a final year project report submitted by Muhammad Ahkam Khan and Muhammad Waqar to the Department of Electrical Engineering at National University of Computer and Emerging Sciences in Peshawar, Pakistan in June 2013 for their Bachelor of Electrical Engineering degree, on developing a wireless gesture controlled robot.
This document discusses the design and development of a robotic hand controlled by a glove. The robotic hand uses servos to mimic the motion of individual human fingers as controlled by sensors in the glove. It describes the components used - flex sensors in the glove, an Arduino microcontroller, and servos in the robotic hand. The document outlines the working principle and potential applications of this robotic hand system, such as in factories or for people with disabilities. It aims to develop a versatile robotic hand concept among business students.
Workflow On The Fly Monitoring SolutionRoman Agaev
This document discusses potential approaches for monitoring Siebel workflow execution, including:
1. Workflow persistence which stores workflow state to allow interrupted processes to resume.
2. Siebel Application Response Management (SARM) which captures timing data for monitoring performance.
3. Siebel environment logging which records errors to server log files.
4. A Workflow Instance Monitor view which provides a history of all workflow process and step instances.
The document evaluates these options and their tradeoffs for monitoring workflow processes in Siebel applications.
Client/Server Paradigm And Its ImplementationRoman Agaev
The document proposes a client/server architecture and implementation for enabling messaging capabilities across the Siebel application. It involves creating a cacheable business service that manages messages in a queue. The design also includes browser-side and server-side scripts to display messages, as well as client and server applications that communicate via XMLRPC to enable messaging without a user context. Code examples demonstrate how the messaging engine would function within the Siebel environment and across client/server.
The document proposes a model for defining and executing event-driven composite services. It describes three main entities: events, base services that wrap external resources, and composite services composed of base services. It discusses how services are created, deployed, activated, and executed on a service execution platform. As an example, it describes a truck tracking composite service that is activated when a truck enters a port gate, launching a new session to track the truck.
Microservices architecture is an evolution of service-oriented architecture (SOA) principles applied to application design and development. Some key differences include:
- SOA focuses on exposing application functionality as services at the enterprise level, while microservices focus on developing individual applications as a suite of independently deployable services.
- Microservices are typically smaller, lighter weight services focused on a single task, as opposed to monolithic applications. They communicate with lightweight protocols like HTTP.
- Microservices aim to support continuous delivery and deployment, with goals of automation, resilience, and loose coupling between services.
- Individual microservices can be developed and scaled independently. This provides benefits like enabling continuous delivery and deployment.
So in summary,
The document describes a system called CROSLOCiS that aims to make it easy for non-technical service providers to launch smart services across different platforms. It discusses barriers faced by local businesses in launching services due to lack of technical skills. The system introduces intermediate roles and a layered template approach to hide complexity and allow services to be composed and launched more easily. A demo is described to illustrate how different actors could use templates to create, configure, deploy and manage new services.
The document discusses CROSLOCiS, a platform that aims to make it easy for non-technical service providers to launch public services by hiding the technical complexity through layered service templates. It outlines barriers currently inhibiting small businesses and professionals from launching e-services. The platform uses multi-layer templates and exposed enabling services to allow easy creation, customization, and management of services across multiple access channels without requiring technical knowledge. A demonstration of how this works for IPTV services is described.
This approach will help to change the traditional approach of point-to-point communication in Manufacturing Execution Systems (MES) to using BizTalk server as a middleware to Integrate several systems
N. Sathish Kumar has over 10 years of experience in the IT industry. He has expertise in Java, Spring, Hibernate, Oracle, SQL Server, and legacy modernization tools like BluAge. Some of his projects include modernizing banking applications, developing web applications for failure analysis tracking and supply chain management, and migrating mainframe screens to new interfaces. He is skilled at all phases of the software development life cycle from analysis to deployment.
This document provides information about Venkatesan Prabu Jayakantham (Venkat), the Managing Director of KAASHIV INFOTECH, a software company in Chennai. It details Venkat's experience in Microsoft technologies and certifications. It also lists the internship and inplant training programs offered by KAASHIV INFOTECH for students in fields like computer science, IT, electronics, mechanical and civil engineering. The training focuses on technologies and skills to make students employable.
This document provides information about Venkatesan Prabu Jayakantham (Venkat), the Managing Director of KAASHIV INFOTECH, a software company in Chennai. It details Venkat's experience in Microsoft technologies and certifications. It also lists the internship and inplant training programs offered by KAASHIV INFOTECH for students in fields like computer science, IT, electronics, electrical, mechanical and civil engineering. The training focuses on technologies and skills to make students employable.
The document provides information about Venkatesan Prabu Jayakantham (Venkat), the Managing Director of KAASHIV INFOTECH, a software company in Chennai. It details Venkat's experience in Microsoft technologies and certifications. It also lists the various awards he has received throughout his career. The document then provides interview questions and answers related to SQL Server and discusses the inplant training programs offered by KAASHIV INFOTECH for students in fields such as computer science, IT, electronics, and mechanical/civil engineering.
This document provides an overview of MuleSoft's Mule integration platform, including its architecture, key concepts like flows and global elements, development tools like Anypoint Studio, connectors for integrating with external systems, common components for transforming and routing messages, and security features like PGP encryption and SAML authentication. It describes elements like filters and exception strategies for handling errors and conditional logic. The document is intended as an introduction to understanding and working with Mule applications.
Vskills certified enterprise applications integration specialist with micros...Vskills
The sample material for biztalk covers the following topics mentioned.
CHAPTER 1: Introduction & Installation
Introduction
Installation
Hardware Requirements
Software Requirements
Installing Visual Studio 2005
Install BizTalk Server 2006
Configuring BizTalk Server
Get more details on the below link: http://www.vskills.in/certification/information-technology/Certified-BizTalk-Professional
This document provides an introduction to creating a new language for a Service Creation Environment (SCE) using Sixlabs' Generador de Ambientes de Alta Productividad (GAAP). It discusses key concepts for building an SCE like properties, dialogs, entities and functional code. It also covers the tradeoff between productivity and flexibility in entity design. The document then demonstrates creating a new Logo language for an SCE, including defining entities, creating dialogs and generating functional code templates using XSLT.
This document provides an overview of event-driven architecture and distributed transactions with microservices. It discusses event-driven programming and what constitutes a distributed transaction when using microservices. It then covers some common solutions for distributed transactions like the 2PC and Saga patterns. The Saga pattern uses a choreography or orchestration approach and events to coordinate transactions across services. Message brokers like Kafka, RabbitMQ and Azure Event Hub are discussed for facilitating event-driven architectures. Vert.x and Spring WebFlux are presented as reactive frameworks that are non-blocking and scale well.
The document proposes an execution platform for event-driven mashups that:
1) Allows for the creation and deployment of event-driven mashups that combine various web services and resources.
2) Uses a sessionless orchestration model and asynchronous web service calls to provide automatic scalability and fault tolerance.
3) Was tested and shown to reduce latency when replicated across multiple nodes, demonstrating its ability to horizontally scale under load.
Project Proposal Service Center Management softwareAdam Waheed
Service center professional is software which can manage full service life cycle of an organization. The software is a web based application which will be developed on PHP MySQL to solve current problems of Albion service center .This software is very useful for medium and small sized organizations
Performance report for Microsoft Office Communications Server ...Videoguy
The document summarizes performance testing of a Microsoft Office Communications Server (OCS) Enterprise Edition Consolidated Configuration deployed on an HP BladeSystem. Key findings from tests with 30,000 simulated users include:
1) Tests were conducted with user logon rates from 1 to 36 users per second to analyze the impact on server performance.
2) Two different storage solutions were tested for the SQL Server: an HP StorageWorks SB40c storage blade and an HP StorageWorks MSA1500 modular smart array.
3) Key server performance counters were monitored, including CPU utilization, queue and sproc latency, and SQL page life expectancy, to evaluate system health during user ramp-up and steady state.
Part 1: DRS and DPM Implementation in Virtualized Environment, Part 2: Large ...Akshay Wattal
Develop a simple DRS (Distributed Resource Scheduler) and DPM (Distributed Power Management) function, and large-scale statistics gathering and analysis in scalable virtualized environments.
Specific areas of interest include health models for multi-tier applications, VM and host performance monitoring and detection of anomalies.
The document describes the basic workflow of a project designed using Ruby on Rails. It involves:
1) A browser sending a request to the controller
2) The controller fetching data from the model layer
3) The model layer fetching data from the database
4) The model layer creating an ORM based on business logic
5) The controller processing the data and sending a response to the view layer
6) The view layer presenting the data to the browser through HTML, CSS, and JavaScript.
Management & control of home automation devicesPiyush Chand
The document summarizes a master's thesis presentation on managing and controlling home automation devices using EnOcean technology with JSLEE. The thesis laid the foundation for integrating a home automation communication architecture with a telecommunication architecture using JSLEE. An EnOcean resource adaptor was developed to allow the JSLEE application server to communicate with EnOcean devices. A home automation service was implemented using DTMF tones as a proof of concept. Future work could involve monitoring more device types and implementing all EnOcean protocol messages in the resource adaptor, as well as integrating multiple home automation protocols with JSLEE.
This master's thesis explores integrating a home automation architecture based on EnOcean technology with a telecommunications architecture. It develops an EnOcean resource adaptor for a JAIN SLEE application server to communicate with an EnOcean gateway. It then develops a JAIN service that allows a SIP user agent to control and monitor home automation devices like lamps, motion sensors, and energy meters through an interactive voice response system. The goal is to demonstrate a method for remote management and control of EnOcean-based smart home devices through a telecommunications network and SIP.
Robot Operating Systems (Ros) Overview & (1)Piyush Chand
The document provides an overview of Robot Operating System (ROS) and demonstrates the Kinect XBOX 360 sensor using ROS. It describes the different levels of ROS including packages, stacks, messages and services. It also explains node communication and concepts like coordinate frames, actions, and plugins. Finally, it gives technical details of the Kinect sensor and demonstrates its capabilities for skeletal tracking and gesture recognition using OpenNI and ROS.
Robot operating systems (ros) overview & (1)Piyush Chand
The document provides an overview of Robot Operating System (ROS) and demonstrates Kinect tracking capabilities using OpenNI and ROS. It describes ROS architecture including packages, stacks, messages and services. It explains how ROS nodes communicate via topics, services and parameter server. It also gives technical details of Kinect sensor and how OpenNI framework is used for skeletal tracking and gesture recognition with Kinect. Finally, it demonstrates a ROS-based Kinect application for skeleton tracking, cursor control and hand gestures.
Robot operating systems (ros) overview &Piyush Chand
Robot Operating Systems (ROS) is an open-source, meta-operating system for robots that provides low-level device control and message passing between processes. ROS has a file system structure based on packages, manifests, and stacks to manage code organization. At the computation graph level, ROS uses nodes that communicate via topics and services, and is coordinated by a ROS Master and parameter server.
This document discusses developing a Java API for the EnOcean wireless technology. It aims to control various sensors and actuators through a BSC-BAP-TX access point.
The document first provides theoretical background on EnOcean technology and equipment profiles. It then discusses the BSC-BAP-TX gateway and radio transmission ranges.
The developed Java API is described which allows communicating with EnOcean devices through the access point. An example application is also given to demonstrate usage of the API classes. Future applications of integrating the API with home automation are proposed.
This document discusses the development of a Java API to control EnOcean wireless equipment through a BSC-BAP-TX gateway. It describes the gateway and wireless devices used, including actuators, switches, and sensors. The Java API uses various ports to send commands to and receive data from the gateway to control connected devices. Future applications discussed include integrating EnOcean devices with telecommunications environments to enable remote control and energy monitoring services.
The document discusses concentration of market and diversification of market. It describes how a Swedish engineering company that manufactures fire-fighting equipment was losing profit by distributing its products across 100 country markets. A new marketing director helped the company concentrate its market to 50 countries, with special focus on 10 markets where the products were most successful. This improved the company's profits by reducing costs and increasing sales volume in key markets. Globalization enables companies to both concentrate in select markets while also diversifying globally by providing a global customer base and competitive environment.
Power Line Communication allows for data transmission over existing power lines. It has the potential to provide broadband internet access to every home or business through existing electrical wiring. There are two main types of Power Line Communication systems - narrowband PLC provides lower data rates for utilities, while broadband PLC enables higher data rates for services like voice, data, and video. Key components of a PLC system include modems, base stations, repeaters, and gateways. Communication is achieved using techniques like OFDM that are robust against noise on power lines. Medium access control and topologies must be designed to handle data transmission over the challenging power line channel. International standards guide the implementation of Power Line Communication networks.
1. MAJOR PROJECT REPORT
Play & Record with Dtmf Service
based on JSLEE
Submitted to: Prof. Dr. –Ing. Ulrich Trick
Submitted by: Piyush Chand (Master Student- 937005)
Date: 31. 04. 2011
2. Major Project: Play & Record with Dtmf Service based on JSLEE 2
Acknowledgement
I am heartily thankful to my supervisors Patrick Wacht and Armin Lehmann, their guidance,
encouragement, and support from the initial to the final level enabled me to develop an
understanding of the subject.
Lastly, I offer my regards to all of those who supported me in any respect during the completion
of the project.
Piyush Chand
3. Major Project: Play & Record with Dtmf Service based on JSLEE 3
Contents
1. Project Goal………………………………………………………………………………..4
2. Structure of the Report…………………………………………………………………….4
3. Theoretical
Basis……………………………………………………………………………………......4
3.1 Mobicents JSLEE Application Server………………………………………………….4
3.2 Convedia Media Server- 3000………………………………………………………….7
3.3 MSML(Media Sessions Markup Language)…………………………………………...8
3.4 MSML Control Channel ……………………………………………………………….9
3.5 SIP (Session Initiation Protocol)………………………………………………….......11
4. Used Practical Framework ……………………………………………………………….14
5. Developed Service………………………………………………………………………..17
5.1 Initial Service Preparation……………………………………………………………...18
5.2 Establishing the Control Channel Dialog………………………………………………21
5.3 Consuming the Play & Record Service………………………………………………...25
5.4 Functionality of the Service…………………………………………………………….32
5.5 Development and Integration of the Library…………………………………………...42
6. Conclusion…………………………………………………………………………………..52
7. References…………………………………………………………………….. ……………53
4. Major Project: Play & Record with Dtmf Service based on JSLEE 4
1. Project Goal
The goal of the project is to develop a Service based on JSLEE (JAIN Service Logic Execution
Environment) which can utilize the functionality of the CMS (Convedia Media Server). The
service provides the user to play a music file, record a voice, playback a recorded file and also
utilize the DTMF (Dual-Tone Multiple Frequency) functionality of the Media Server.
2. Structure of the Report
The report contains the following chapters:
Theoretical Basis: In this chapter of the report, the basic functionality of the Mobicents
JSLEE (Jain Service Logic Execution Environment) Application Server and the CMS-3000
(Convedia Media Server -3000) Media Server will be described. An overview of the SIP
protocol and the utilized MSML (Media Server Markup Language) will be provided.
Used Practical framework: In this chapter of the report the used practical framework will be
described. The Message Sequence Chart related to the service will also be mentioned in this
chapter.
Developed Service: In this chapter, detailed information about the developed service will be
described. The realization and implementation of the service will be described in detail.
Conclusion: In this chapter, which value added services can be utilized by this developed
service will be mentioned. Also, a future extension of this service will be described.
3 Theoretical Basis
In this chapter of the report, the basics of the Mobicents JSLEE Application Server and the
Convedia Media Server-3000 will be discussed. Both of these servers are the required framework
for development of the service.
3.1 Mobicents JSLEE Application Servers
Providing more and more services to the end user is the primary object for any developer. In this
respect, one of the most important servers is the application server, which provides a stack of
functionalities to the end user or it can also be mentioned as services for the end user. In this
report the used application server is the Mobicents JSLEE Application Server. The JSLEE based
5. Major Project: Play & Record with Dtmf Service based on JSLEE 5
application server provides a high throughput, low latency event processing application
environment. JSLEE (Jain Service Logic Execution Environment) is the Java standard for SLEE.
JSLEE is designed to allow implementations of the standard to meet the stringent requirements of
communications applications, such as network signalling applications. The JSLEE specification
is designed so that implementations can achieve scalability and availability through clustering
architectures. Below, in figure 3.1.1, the architecture of the JSLEE can be seen. [1]
Figure 3.1.1 JSLEE Architecture [1]
In this architecture, JSLEE consists of four main areas: management, framework, resource
adaptors, and the Component model. The management entities allow the whole JSLEE
environment to be managed through JMX-Mbeans or Jopr i.e. an enterprise management solution
for JBoss middleware projects and other application technologies. The various entities in the
framework support the business logic implemented in distributed components, the so-called
service building blocks, or SBB. The trace entity allows a centralized and single point for
logging, alarms inform external management systems, timers invoke components in pre-defined
intervals, and profiles provide the business logic with information and data during execution.
Among them, the event router routes incoming and newly created events to previously registered
SBBs (Service Building Block) and resources. The event router is more or less the heart of
JSLEE's event routing system.
In this architecture, every area (i.e. management, framework, resource adaptors, and the
Component model) has its own importance. From a developer’s point of view the Component
Model which contains the SBB (Service Building Block) is quite significant.
Functionality of a SBB: [2]
6. Major Project: Play & Record with Dtmf Service based on JSLEE 6
Event types received and fired by the SBB component.
Per-instance state.
The per-instance state should be held in Container Managed Persistent (CMP) fields that can
maintain persistent state that should persist across failures.
Event methods.
The SBB component provides an event handler method for each event type received by the
SBB component. The event handler method contains application logic to process events of a
specific event type. The SBB component also declares a fire event method for each event
type fired by the SBB component.
SBB local interface methods.
The SBB component declares the SBB local interface of the SBB component. The SBB local
interface specifies the methods of the SBB component that may be invoked synchronously.
The SBB local interface methods of an SBB component instance can only be invoked by
another SBB component instance within the same SBB component instance tree. The SBB
also provides the implementation of the methods of the SBB local interface.
Child relations.
The SBB component may be related to zero or more child SBB components. The SBB
component specifies its child SBB component relations. The SBB component identifies each
child SBB component relation through a deployment descriptor element and declares a child
relation successor.
Functionality of the Activity Context:
The SLEE uses an Activity Context to represent and encapsulate an underlying Activity object
within the SLEE. An Activity Context is a logical entity within the SLEE. It does not have a
visible Java API. There is a one-to-one relationship between an Activity object and an Activity
Context.
An Activity Context is also a store for attributes that may be shared by multiple SBB entities
that interact with the Activity object represented by the Activity Context. These SBB entities
can read and modify attributes stored in the Activity Context.
An Activity Context is also an event channel that accepts events fired on the Activity
Context and distributes these events to the SBB entities attached to the Activity Context. An
SBB entity can invoke other SBB entities in an asynchronous manner by firing events on the
Activity Context.
An SBB entity may be attached to one or more Activity Contexts. An SBB entity can only
receive events fired on Activity Contexts that it is attached to. The SLEE does not count the
number of times an SBB entity is attached or detached from an Activity Context. The SBB
entity is either attached to the Activity Context or not. Attaching multiple times
consecutively is the same as attaching once and detaching multiple times is the same as
detaching once.
7. Major Project: Play & Record with Dtmf Service based on JSLEE 7
Whenever any event is fired by the SBB, the SBB is attached to the Activity Context. In this
respect it can be mentioned that the activity context is a main part to initiate the SBB service.
This is a basic concept in the JSLEE architecture, which will be again discussed in the
programming phase of the service.
3.2 Convedia Media Server- 3000
The RadiSys Convedia CMS-3000 media server delivers carrier-class media processing
capabilities for enterprise IP telecommunication services. Increased processing power, including
I/O throughput upgrades, delivers significant performance improvement for Voice XML-based
IVR and messaging applications, while delivering multi-service versatility for numerous
applications including IP PBX, instant video conferencing, IP contact centres, and unified
communication solutions. [3]
Valuable Services related to CMS- 3000:
Tones and Announcements: Audio announcements and ring back tones, Multiple languages
(40+), Variables (e.g. date, time, currency, etc.), Caller–specific announcement volume control.
DTMF: DTMF detection and generation, In band and RFC 2833, Redundant RFC 2833.
Conferencing: Up to 110 3-way conferences, Up to 330 participants per conference mix, N-way
audio mixing, Loudest N mixing and preferred speaker, Independent manual gain, control on all
ports, Automatic Gain Control (AGC), Current speaker notification, Whisper feature,
Personalized mixing for each participant (e.g. for complex call centre mixing models, network,
gaming, voice chat, etc.).
Recording and Playback: Audio and video recording / playback VCR Control (pause/resume,
skip forward, skip back) Internal and external storage (NFS/HTTP).
Audio Recording Formats:
.wav (G.711, G.729)
Quick time™ format (G.711)
3GP format (AMR)
RTSP 1.0 support for playback (G.711, AMR)
Voice Quality Enhancements (VQE): Packet Loss Concealment, Noise Gating, Noisy line
detection, VQE Statistics, Acoustic Echo Cancellation (AEC), and Noise Reduction.
Stream Connection: CALEA/Lawful intercept support for video and audio streams, Packet
forking, switching, and media replication (fan out).
Video: Video announcements and ring back tones Video recording and playback Interactive
Voice and Video Response (IVVR) Video text overlay, Voice–activated video switching (video
Conferencing), Continuous presence video conferencing.
Fax: Fax Detection & Notification, Embedded Fax Server (Send/Receive), T.38 or G.711 (T.30
Pass-through), TIFF Fax Storage Format.
8. Major Project: Play & Record with Dtmf Service based on JSLEE 8
Speech: Text-to-speech (TTS), Automatic speech recognition (ASR), Speaker verification,
MRCP v1.0 and v2.0.
Among these services, the main implementation of the service will be upon the Recording, Play
Back and also the DTMF.
3.3 MSML (Media Sessions Mark-up Language)
The Media Sessions Mark-up Language (MSML) is an XML (Extension Mark-up Language)
language used to specify and change the flow of media streams within a media server. MSML is
designed for manipulating media services offered by the media server to established media
sessions (established using SIP). MSML specifies how media sessions on the media server
interact, and controls and invokes media services on the media server.
For example, MSML can be used to create conferences and join sessions into conferences.
MSML can also be used with MOML (Media Objects Markup Language) to interact with
individual users or with groups of conference participants, for example applying IVR operations,
called “dialogs,” to sessions or conferences. Using MSML, it is also possible to control advanced
conferencing features on a media server, to modify media while a session is in progress, and to
perform advanced session manipulation such as personalized mixing.
MSML transactions are originated by application domain events. These events can be
independent of any media or user interaction. For example, an application may play an
announcement to a conference warning that its scheduled completion time is approaching.
MSML is designed to be used with other languages. For example, MSML does not set up or tear
down sessions. Instead, MSML uses a transport protocol such as SIP for that purpose. Various
protocols and languages are used to meet the requirements of media applications, so MSML has
been designed to be language-neutral, independent of its transport, and to use either one or many
transport channels. Similarly, MSML does not directly manipulate media resource objects.
Instead, MSML can be used to invoke media processing languages such as Media Objects Mark
up Language.
MSML does not directly constrain the media processing language. However, the current
implementation of MSML on the Convedia Media Server supports only MOML as a media
processing language. While MSML addresses the relationships of media streams (in, for example,
simple and advanced conferencing), MOML is an XML language that addresses the control and
manipulations of media processing operations, such as announcement, IVR, play and record,
AST/TTS, fax, and video. Together, MSML and MOML form general-purpose media server
control protocol architecture. [3]
DTMF Detection, Collection, and Generation
The media server detects, collects, and generates DTMF signals. These can be in band audio
DTMF tones or out-of-band RFC 2833 telephone-events.
DTMF collection can include any of a number of mechanisms supported by the control
protocol/language used by the control agent, including collection grammars. For example, the
control agent can use Speech Recognition Grammar Specifications (SRGSs), which are built-in
9. Major Project: Play & Record with Dtmf Service based on JSLEE 9
language grammars dedicated to specific tasks such as digit sequences or phone numbers, or digit
maps as defined by RFC 3435. The media servers also support long digit detection.
In addition to collection grammars, the media server supports a DTMF type-ahead buffer, as well
as the following optional capabilities:
Dynamically specified first-digit timers
Dynamically specified inter-digit timers
Dynamically specified extra-digit timers
Definition of a special termination key, such as “#”
The way DTMF is collected depends on media negotiation by the control protocols. For example,
while in band and out-of-band DTMF are supported, only the method negotiated using the control
protocol will be used. This functionality of the DTMF will be used while implementing the
service. [3]
3.4 MSML Control Channel
There are cases where the control agent prefers to set up one or more transport associations
strictly for service control signalling—that is, SIP (Session Initiation Protocol) sessions carrying
MSML and MOML without any associated media stream. To do this, the control agent must still
include SDP in its initial INVITE (otherwise, the media server will initiate an offer instead of
setting up a control channel). [3]
To signal the media server that a control channel is desired. The control agent can do either of the
following:
Figure 3.4.1, shows a call flow setting up an MSML channel strictly for control. Send an
INVITE that contains SDP, but where the SDP does not specify media—it contains no m= line.
This signals the media server that there is no media stream. This does not request a control
channel per se, but the media server understands this as a request to set up a control channel, and
does not initiate an offer/answer sequence. Send an INVITE that contains complete SDP but uses
0.0.0.0 as the connection IP address. In this case, the media server assigns IP/UDP and codec, but
does not send any RTP (Real Time Protocol).
10. Major Project: Play & Record with Dtmf Service based on JSLEE 10
Figure 3.4.1 Call Flow Setting up for a Control Channel [3]
The control channel will be built within the developed service, so as to send MSML as INFO to
the Media Server and then receive a response 200 O.K. from the Media Server.
Figure 3.4.1, shows the example of a MSML, which provides the functionality to record and play
the recorded file. These will be sent to the Media Server within a SIP INFO Message.
Figure 3.4.2 MSML Example for Play and Record [3]
11. Major Project: Play & Record with Dtmf Service based on JSLEE 11
Figure 3.4.2, shows the example of a DTMF functionality based Msml. This will be sent to the
media server.
Figure 3.4.3 MSML Example for DTMF [3]
In both the above mentioned examples you can see, how the MSML and the MOML are bind
together, to make a complete useful snippet which can be used to initiate the response from the
media server.
3.5 SIP (Session Initiation Protocol)
SIP is a protocol for the creation and full control of Multimedia over IP Sessions. SIP fulfils for
Multimedia over IP the same purpose as a signalling protocol in circuit switched
telecommunication (ISDN-DSS1, POTS, SS No. 7). Additional functions of SIP: e.g. short
messaging, state/event monitoring (e.g. monitoring of the online status of a participant) First SIP
specification in 1999 through IETF (Internet Engineering Task Force) in RFC (Request for
Comments) 2543 Realized through the exchange of text-based messages linked to the HTTP
(Hyper Text Transfer Protocol). [5]
Basic functionality of SIP:
SIP serves in the transferring of signalling and transmission information for Voice over IP or
Multimedia over IP Sessions (Real-time communications connections in IP Networks.
Session forms: Point-to-point, conferences with three or more participants.
12. Major Project: Play & Record with Dtmf Service based on JSLEE 12
Established SIP communications steps are defining SIP transactions (simplified: e.g.
Session-creation, modification, termination).
SIP Messages can transport other session-relevant information e.g. using SDP (Session
Description Protocol)
SIP Messages: SIP messages can be of two types either SIP request or SIP Status information.
SIP requests: initiate a SIP Transaction e.g. (Simplified)
Session creation
Session creation
Session modification
Session termination
Activating of service features
Transmitting of short messages or presence information
SIP Status information (Responses): answering SIP requests on content or confirming receipt
The “Client-Server Principle” applies (HTTP (Hypertext Transfer Protocol):
A client (SIP User Agent Client, UAC) sends a request (Request, SIP Message) to a server.
A server (SIP User Agent Server, UAS) answers a request (Response, SIP-Status
information).
SIP Message Request:
Basic requests (RFC 3261; elementary for the development of particular SIP transactions.
INVITE: (Initiating of a SIP Session (connected-oriented communication state example speech
communication, video communication etc.).
BYE: (Close of an existing SIP Session).
ACK: (Acknowledge of receipt of final (not provisional) SIP Status information that follows an
INVITE Message (SIP Three-Way-Handshake)).Single SIP Request which is not answered with
status information.
CANCEL: (Notice to cancel the processing of a running SIP Transaction, e.g. of a session build
up).
13. Major Project: Play & Record with Dtmf Service based on JSLEE 13
REGISTER: (Registering of an SIP End system of a SIP Registrar Server).
OPTIONS: (Enquiry for features of a SIP End system, no session build up required).
SIP Message Header:
Headers describe each SIP Message, the corresponding SIP Transaction as well as characteristics
of the SIP Network elements. Following are the list of header message, which is part of every SIP
message depending upon the type of message to be sent. [5]
In Figure 3.5.1, a list of used header fields and their characteristics are described.
Figure 3.5.1 Description of the Header field [5]
14. Major Project: Play & Record with Dtmf Service based on JSLEE 14
Figure 3.5.2 Example of a header field [5]
In Figure 3.5.2, an example of the SIP Message Header can be seen; in this the fields are filled in
with the associated header field.
4 Used Practical Framework
In this part of the report, the used practical framework is described, and also the MSC( Message
Sequence Chart) is discussed with respect to the service that is developed.
Application Server used: Mobicents Media Server, version MMS 2.2.1, it is software
based. It is described in detail in chapter 3.1.
Media Server used: Convedia Media Server, CMS-3000, explained in detail in chapter 3.2
Integrated Development Environment (IDE) used: Eclipse, version- Helios 3.6.2
Network Analyser used: Wireshark. It is a free program for the analysis of network
communication links
SIP Soft Phone used: PhonerLite. It enables your PC to use it for internet telephony VoIP
(Voice over IP).
15. Major Project: Play & Record with Dtmf Service based on JSLEE 15
Figure 4.1 Used frame work for the implementation
Figure 4.1 , shows the used framework of the service, which contains the Mobicents Application
server, CMS-3000 server, SIP soft phone on a PC.
Figure 4.2, shows the MSC (Message Sequence Chart) of the implementation of the service. In
this figure, it can be seen that initially the control channel is developed, which is refer as the
control channel dialog and then the user agent initiates the service.
When the user starts the service, an INVITE message is sent to the application server. This
INVITE message is then forwarded to the Media server. To the response of the INVITE message
from the application server, the media server sends a 200 O.K. to the application server. Then
after receiving a 200 O.K. from the media server, a 200 O.K. is sent from the application server
to the user agent.
To the response of the 200 O.K. from the application server, an ACK is sent to the application
server. Then after receiving the ACK from the user agent, the application server sends an ACK to
the media server. Immediately, after an ACK, an INFO message is sent from the application
server to the media server. At this point the first INFO message is sent from the application
server to the media server. This INFO message contains the MSML+MOML body, which can be
seen in the figure 3.4.1, chapter 3.4. After sending the INFO message, a 200 O.K. is received
from the media server. A peer to peer connection between the user agent and the media server is
established for the RTP.
16. Major Project: Play & Record with Dtmf Service based on JSLEE 16
The second INFO message is sent, while the flow of RTP. This contains the second MSML body
as shown in figure 3.4.1, chapter 3.4. To the response of the INFO message again a 200 O.K. is
sent to the Media Server.
Figure 4.2 Message Sequence Chart of the implementation
17. Major Project: Play & Record with Dtmf Service based on JSLEE 17
For the closing of the service, the user agent sends a BYE message to the application server. The
application sends a BYE message to the media server. The media server sends a 200 O.K. to the
application server in response to the BYE message, the application server sends a 200 O.K. to the
user agent to close the call and execute the complete SIP protocol.
In Figure 4.2, the arrows are the flow of Messages, which in JSLEE terms can be mentioned as
events.
The green arrows are the event which are fired from the AS to the MS and also from AS to
the UA.
The blue arrows are the response to the fired events from the MS to the AS and also the UA
to the AS.
The red arrows are the events which are fired to the AS, to initiate the service.
The purple colour shows the INFO messages which carry the MSML body.
5. Developed Service
This chapter of the report provides the detailed information about the service that has been
developed. The service depends upon the MSC described in chapter 4, figure 4.2. The following
description of the service will give a much clearer view of how the development is done on the
JSLEE application server. In the initial part of this chapter, the basic fundamentals of the JSLEE
architecture will be discussed and then the implementation of the service will be described. To
make the development much more understandable, the description is divided into four important
sub chapters.
1) Initial Service Preparation
2) Establishing the Control Channel Dialog
3) Consuming the Play & Record Service
4) Service Functionality
The Play & Record service depends upon the six methods. These methods make it possible for
the application server to receive and send SIP messages from or to the user agent and also from
or to the Media server. Following are the six methods:
OnStartService( )
OnSuccess( )
18. Major Project: Play & Record with Dtmf Service based on JSLEE 18
OnInvite( )
OnAck( )
OnInfo( )
OnBye( )
The functionality of these methods will be explained while explaining the service.
5.1 Initial Service Preparation
The initial service preparation provides the base for the service building block SBB, which
includes the life cycle of the SBB and the invocation of the Sbb Context, which together provides
the basic functionality of the SBB of the JSLEE architecture.
Figure 5.1.1: Invoking the used facilities in the JSLEE architecture
In figure 5.1.1, from line number 78 to 92, the used facilities of the JSLEE architecture are used.
This includes the cached objects in the SBB´s environment as the ServiceActivityFactory, the
19. Major Project: Play & Record with Dtmf Service based on JSLEE 19
ServiceActivityContextInterfaceFactory, the ActivityContextNamingFacility. Then, to use the SIP
protocol the SleeSipProvider and the SipActivityContextInterfaceFactory is invoked.
Line number 98 and 99 initialize the Media Server IP address as 192.168.1.186 and also the IP
address of the Call Server or the User Agent.
Figure 5.1.2 initializing the required APIs
In figure 5.1.2, line 109, the abstract method for the service activity context is invoked, which
allows the SBB to co relate the service activity context in an abstract approach. From line 119 to
20. Major Project: Play & Record with Dtmf Service based on JSLEE 20
144, the SbbContext method and the related APIs are invoked. The SLEE invokes this method
after a new instance of the SBB abstract class is created. It uses this method to pass a SbbContext
object to the SBB object. If the SBB object needs to use the SbbContext object during its lifetime,
it should keep a reference to the SbbContext object in an instance variable. This includes the
initializing of the service activity context and the SIP API.
Figure 5.1.3 the Life Cycle of the SBB
Every SBB goes through a lifecycle which is a conventional procedure and is followed by every
SBB. In figure 5.1.3, line 166 to line 209 and figure 5.1.4, from line 216 to 233, the life cycle of
the SBB is invoked, at various stages depending upon the state of the SBB, it is an internal part of
the SBB, which makes it possible for the SBB to implement in a much more procedural way.
21. Major Project: Play & Record with Dtmf Service based on JSLEE 21
Figure 5.1.4 The Life cycle of the SBB
All these methods will be explained, in detail with respect to the service provided.
5.2 Establishing the Control Channel Dialog
In this chapter of the report, the creation of the control channel will be discussed. Before sending
a MSML + MOML, the control channel is to be created. The basic principle of developing a
control channel is discussed in detail in chapter 3.4. In this implementation of the service, the
control channel is created in the OnStartService Method.
OnStartService( ): This method is invoked to create the control channel between the application
server and the media server. In figure 5.2.1, from line 247 to 263, the header fields of the SIP
INVITE message, which is to be sent, are created. All the header fields which are described in
chapter 2 are used to create the SIP message. This will create the control channel between the
application server and the media server.
No media is used while creating the control channel. So, from line 267 to 273, the SDP with no
m-parameter is created.
22. Major Project: Play & Record with Dtmf Service based on JSLEE 22
Figure 5.2.1 the onStartService Method: Creating the Control Channel
In figure 5.2.1, from line 275 to 286, the request is created by invoking the sip provider; the sip
provider is a factory of functions by which we can create the header of the SIP protocol as
described in chapter 2. In line 289 and 290 in figure 5.2.2, the contact header is created. From
23. Major Project: Play & Record with Dtmf Service based on JSLEE 23
line number 292 to 300, the client transaction is initiated and the SIP INVITE is sent. The activity
context is invoked which allows the control channel dialog between the application server and the
media server (which is mentioned in the chapter 3.4) to execute. The dialog attaches to the
activity context.
After sending the SIP INVITE to the media server, a 200 OK message is received to the
application server, to complete the threeway hand shake for the control channel, an ACK has to
be sent to the media server. This will be done in the other method named onSuccess().
Figure 5.2.2 The OnStartService Method, initiates the Control Channel
24. Major Project: Play & Record with Dtmf Service based on JSLEE 24
Figure 5.2.3 the onSuccess Method, Sends response to the media server
OnSuccess( ): In figure 5.2.3, from line 396 to 435, the ACK is sent to the media server to
complete the three way handshake. The control channel dialog (line 412) is invoked and then the
ACK is sent to the control channel and the from address is to be added to the ACK (line 409).
25. Major Project: Play & Record with Dtmf Service based on JSLEE 25
5.3 Consuming the Play & Record Service
In this chapter of the report, the implementation of the service will be provided. After creating the
control channel between the application server (AS) and the Media Server (MS), the user agent
(UA), can consume the services which are associated to the media server.
To provide a logical link among user agent, application server and media server, the development
of the service is linked together by the following dialogs, which are mentioned below:
The dialog between the user agent and the application server.
The dialog between the application server and the media server.
The dialog between the user agent and the media server.
In the service development, the dialog between the UA and the AS is stored in the
Subscriberdialog.The Subscriberdialog is a method in the code, which stores the dialog between
the UA and the AS. In figure 5.3.1, the setSubcriberDialog stores the dialog. It stores the dialog
as an array list. This array list is also invoked in the activity context.
Figure 5.3.1 storing the subscriber dialog
The dialog between the AS and the MS is stored in the MediaServerSubscriberdialaog( ). This
method can be seen in figure5.3.2, the dialog is again stored in an array list. This array list is also
invoked in the service activity context.
26. Major Project: Play & Record with Dtmf Service based on JSLEE 26
Figure 5.3.2 Storing the MediaServerSubscriberdialog
Both theses dialogs are linked to create the dialog between the UA and the MS. This dialog is
stored in the linkeddialog( ). The method which provides the functionality to link the dialog can
be seen in figure 5.3.3, in this method the dialog is stored as a hash map, which is then invoked in
the activity context.
Figure 5.3.3 string the linked dialog
These dialogs will be mentioned while explaining the service.
After deploying the service, the control channel between the application server and the media
server is established. To use the service, the user agent sends an INVITE message to the AS by
the usage of the correct SIP URI. As soon as the INVITE message is sent to the application server
the OnInvite Method is invoked.
OnInvite( ): This method is invoked, when an INVITE message is sent by the user agent to the
application server. This method is shown in figure 5.3.4, from line 441 to line 449, creates the
27. Major Project: Play & Record with Dtmf Service based on JSLEE 27
URI which is to be used by the user to initiate the service. After receiving this INVITE message
from the user agent, the fields for expecting the ACK from the application server are set with in
the CMP field (i.e. Figure 5.3.4, from line 452 to 465).
5.3.4 onInvite Method, retrieves the invite from the user agent
The INVITE message is to be forwarded from the AS to the MS. So the next part of the method
provides the functionality to forward the INVITE message from the AS to the MS. In figure
5.3.5, from line 472 to 474, the dialog is invoked and then attached to the activity context. This
dialog is stored as the subscriber dialog, shown on line 476. From figure 5.3.5, line 483 to figure
5.3.6, line 525, the INVITE message is created, which is to be forwarded to the MS.
28. Major Project: Play & Record with Dtmf Service based on JSLEE 28
Figure 5.3.5 onInvite method, forwarding the INVITE to the media server
29. Major Project: Play & Record with Dtmf Service based on JSLEE 29
Figure 5.3.6 creating the header of the INVITE message.
In figure 5.3.6, the header field for the INVITE message is created. From line 512 to 523, all the
header fields are included which makes the INVITE message. On line 525 the contact header is
created by an independent method, this method can be seen in figure 5.3.7.
30. Major Project: Play & Record with Dtmf Service based on JSLEE 30
Figure 5.3.7 attaching the dialog to the activity context.
In figure 5.3.7, line 530 to line 537 this part of the method invokes the activity context and then
attaches the dialog to the activity context. The INVITE message is to be sent from the AS to the
MS. On line 540 the MediaServerSubscriberDialog dialog is stored. This dialog is then stored to
the LinkedDialolgs( the link dialog provides the functionality to link the user subscriber dialog
and the MediaServerSubscriberDialog).
Figure 5.3.8 storing the contact header field.
Figure 5.3.8, the method which creates the contact header field of the SIP message is created.
This method is invoked in the onInvite method figure 5.3.6 on line 525.
31. Major Project: Play & Record with Dtmf Service based on JSLEE 31
Figure 5.3.9, Sends response 200 OK to the user agent.
After receiving a 200 O.K. from the MS, a 200 O.K. is to be sent from the AS to the UA. In
figure 5.3.9, the dialog between the UA and the AS is invoked. This is set on line 390. The to
Header field should be the same.
In figure 5.3.10, the to Header field is stored. This method is then invoked in figure 5.3.9, line
395. To send a 200 O.K. to the UA, the link to the user agent dialog is first initiated. This method
can be seen in figure 5.3.9. This method is invoked on line 397. After getting this dialog the
response as 200 O.K. is sent to the user agent.
32. Major Project: Play & Record with Dtmf Service based on JSLEE 32
Figure 5.3.10, stored To Header field.
In figure 5.3.10, an independent method is developed, this method stores the to header field. The
to Header field should be the same when an ACK is to be sent to the User Agent. A hash
mapping is created, with respect to the dialog and the to header.
Figure 5.3.11 Stored Dialog, to link the user agent dialog.
In figure 5.3.11, the subscriber dialog or the dialog between the UA and the AS is stored. Again
the hash mapping is created between the two required dialogs. This linked dialog is stored in the
Service Activity Context.
5.4 Functionality of the Service
In this chapter of the report, the realization of the service will be described. The methods that are
used to develop the functionality of the service will be described in detail. This service provides
the user to record and then play the recorded voice back to the user.
33. Major Project: Play & Record with Dtmf Service based on JSLEE 33
Realization of the Play & Record Service:
The realization of the service is done when the INFO message containing the MSML body is sent
to the media server; this is described in chapter 3.4 and chapter 3.5 in detail. Figure 3.4.2 and
3.4.3 on page 11, shows the example of the MSML+MOML document used to realize this
service. This MSML body invokes the media server to send a response as a 200 O.K. to the
application server. After receiving a 200 O.K. from the media server, a 200 O.K. is sent to the
user agent from the application server. This establishes a peer to peer connection between the
user agent and the media server. RTP flows between the user agent and the media server. During
the RTP flow, the user can record his or her, own voice and then play the same voice back as
soon as the recording is over.
Realization of the DTMF functionality:
For realizing the DTMF functionality of the service, an INFO message is sent to the media
server. When a user presses the button 1 on his or her SIP based soft phone, an INFO message is
sent which contains the MSML body as mentioned in chapter 3.4 and chapter 3.5 to realise the
DTMF functionality.
In this implementation, when the user presses the button on the SIP based soft phone, the user
will hear a music sound from the media server. This can be seen in figure 5.4.1.
Figure 5.4.1, Display of the DTMF example.
34. Major Project: Play & Record with Dtmf Service based on JSLEE 34
Figure 5.4.2 the onAck method.
To realize the service, the onAck method is invoked as in this method the ACK is sent to the
media server. Immediately after sending the ACK, the INFO message is sent to the media server
which contains the MSML body.
Figure 5.4.2, on line 570, the Sip Provider is invoked. The Sip provider is invoked to create the
address field from the address factory. From line 573 to 580, the significant dialogs and the
header fields are invoked. These are mentioned below respectively.
1) The server transaction dialog is invoked. (Line 573)
2) The from address header field is created from the Address Factory. (Line 574)
3) The control channel dialog is invoked with respect to the from address (line 575).The dialog
is invoked from the method mentioned in figure 5.4.4.
4) The subscriber dialog is invoked and linked to the media server dialog (Line 576). This is
invoked from the method described in figure 5.4.5.
5) The stored to header field dialog of the subscriber is invoked (Line 577).This dialog field is
invoked from the method described in figure 5.4.7.
6) The cseq field for the control channel is retrieved (Line 578). This is invoked from the
method described in figure 5.4.8.
35. Major Project: Play & Record with Dtmf Service based on JSLEE 35
7) The increment is provided to the cseq field, this is a convention while sending an INFO
message to the Media Server. (Line 579)
8) After the increment of the cseq field, the cseq field is set (Line 580). This is invoked from
the method described in figure 5.4.9.
Figure 5.4.3, Shows the MSML body to be sent in the INFO message.
In figure 5.4.3, the Msml + Moml body is described as a String data. From line 607 to 619, the
INFO message is created. While sending the MSML body in the INFO message, the tag field
should remain the same. So, on line 591, the tag field is retrieved and then the MSML body is
sent in the INFO message to media server. On line 619, the contact header field for the Media
server is created. This is invoked from the method mentioned in figure 5.4.9.
36. Major Project: Play & Record with Dtmf Service based on JSLEE 36
Figure 5.4.4, The Control Channel Dialog.
Figure, 5.4.4, the control channel dialog is stored. This method again uses the hash mapping
between the address and the dialog. This is also invoked in the service activity context.
Figure 5.4.5, The Link dialog to the MS dialog.
In figure 5.4.5, the linked dialog to media server is created. This method stores the dialog by
using the hash mapping between the required dialog for the service.
Figure 5.4.6, The stored to header for the dialog.
In figure 5.4.6, the to header for the dialog is stored, this header is stored in a method which uses
the hash mapping between the dialog and the to header.
37. Major Project: Play & Record with Dtmf Service based on JSLEE 37
Figure 5.4.7, The stored Cseq field for the dialog, to get it from the dialog.
In Figure 5.4.7, the method which stores the Cseq field is shown. This method is invoked while
getting the Cseq value of the Message related to the dialog. It is again stored by using the hash
mapping between the dialog and the variable long.
Figure 5.4.8 the stored CSeq field for the dialog, to set it for the dialog.
In figure 5.4.8, the Cseq value which is to be sent while sending an ACK to the media server is
stored. The Cseq value which is retrieved is incremented and then set, this can be seen in figure
5.4.2, line 579.
38. Major Project: Play & Record with Dtmf Service based on JSLEE 38
Figure 5.4.9, The contact header field for the MS.
In figure 5.4.9, the method which creates the contact header field that is to be sent to the media
server is created. This method contains the mentions the UDP, which is to be used when sending
the ACK and also the created address “Mobicents SIP AS <sip:as@”. This is actually seen when
sniffing the network between the AS and the MS while using wireshark. After knowing this
special field, it is used in the code.
39. Major Project: Play & Record with Dtmf Service based on JSLEE 39
Figure 5.4.10, the onInfo method for the service.
In figure 5.4.10, the Info method is invoked, from line 754 to line 772. The required digit of the
DTMF service is initially retrieved from the onInfo method. This digit is parsed to use it as an
integer within the implementation. The parsing is done from line 760 to line 772.
The digit is referred to the number that is pressed on the SIP based soft phone. So, for example if
“1” is pressed then the digit will be set to 1.
As soon as the digit 1 is pressed again an INFO message including the Msml +Moml document is
sent to the media server. This is shown in figure 5.4.11.
40. Major Project: Play & Record with Dtmf Service based on JSLEE 40
Figure 5.4.11 The INFO message sent to the MS, after pressing “1”.
In figure 5.4.11, the INFO message is sent to utilize the DTMF functionality related to the
service.
41. Major Project: Play & Record with Dtmf Service based on JSLEE 41
Figure 5.4.12, the onBye Method.
OnBye( ): This method is invoked when a BYE message is sent by the user agent to the
application server. In figure 5.4.12 from line 970 to line 978 defines the user agent.
In this method all the dialogs which includes the dialog between the user and the application
server, the dialog between the application server and the media server are detach from the activity
context, the user is also removed from the control channel. This is shown in figure 5.4.12, from
line 985 to figure 5.4.13, line 1020.
42. Major Project: Play & Record with Dtmf Service based on JSLEE 42
Figure 5.4.13, shows the complete onbye method of the service.
5.5 Development and Integration of the Library
In this chapter of the report the development of the library and the integration of the library to the
service will be discussed.
The Msml body discussed in chapter 3.4 can be integrated to a service by developing an
independent library. This library will consist of all the methods and functions. These methods can
be invoked while developing a service. In this chapter of the report, some parts of the developed
library will be discussed and also the integration of this library to the service will also be
described.
43. Major Project: Play & Record with Dtmf Service based on JSLEE 43
The MSML and the MOML are XML schema files which are stored within the CMS-3000
server. These Schema files can be parsed to generate java objects. There are many ways of
parsing the xml schema. The technique that has been used in the development is the JAXB (Java
Architecture for XML Binding). JAXB is basically a parsing technique to convert xml to java
objects and vice versa. Figure 5.5.1, shows the implementation of the JAXB technique. In the
figure it can be seen that the XML Schema is compiled by using a Binding compiler to generate
the required schema derived classes and interfaces.
5.5.1 JAXB API Technique [6].
The JAXB API in the figure 5.5.1 provides the functionality to use the marshalling and
unmarshalling techniques. Unmarshalling an XML document means creating a tree of content
objects that represents the content and organization of the document. Marshalling is the opposite
of unmarshalling. It creates an XML document from a content tree. [6]
44. Major Project: Play & Record with Dtmf Service based on JSLEE 44
5.5.2 Generated MSML based java objects.
In Figure 5.5.2, the java objects are generated, which are used in the library. These java objects
will be used to create the MSML in the service. The important generated class which is used in
the service is the MSML class. This is shown in the figure 5.5.2. In this figure all the required
MSML based java objects are created.
45. Major Project: Play & Record with Dtmf Service based on JSLEE 45
5.5.3 DTMF based generated java objects.
In figure 5.5.3, the java objects generated from the DTMF based xml is created. This part of the
generated java objects is used in the library.
In the implementation, the XML schema is compiled to generate schema derived classes and
interfaces which are shown in figure 5.5.3 and figure 5.5.2. These classes and interfaces are then
marshaled to generate the required XML document. In the implementation the XML document is
46. Major Project: Play & Record with Dtmf Service based on JSLEE 46
the MSML document. In figure 5.5.4, line 30 to line number 48, the required package are invoke
in the code by using these packages the JAXB and the marshalling technique can be used to
generate the required XML and the required API is invoked to marshal the classes.
5.5.4 Marshalling code.
The marshalling is done in the code shown in figure 5.5.4. This code allows the java objects to be
converted into XML documents.
47. Major Project: Play & Record with Dtmf Service based on JSLEE 47
Figure 5.5.5 method which generates the DTMF MSML.
Figure 5.5.5 shows the method developed to use the MSML functionality based on the Convedia
Media Sever. This method is a part of the Library. The Library is integrated to the service as a
referenced JAR (Java Archive). A referenced JAR is a bundle of packages, classes and objects
which can be used while developing a code.
48. Major Project: Play & Record with Dtmf Service based on JSLEE 48
Figure 5.5.6, the extension of figure 5.5.5.
Figure 5.5.6, is the extension of the method mentioned in figure 5.5.5. In this figure from line
420, The Marshaller API is invoked which makes it possible for the java objects to be converted
to a xml document or msml document.
49. Major Project: Play & Record with Dtmf Service based on JSLEE 49
Figure 5.5.7, The MSML Creator Class for the DTMF functionality.
After the integration of the JAR to the service, the msml attributes is used in a method. This
method is shown in figure 5.5.7, in the figure the class MSML Creator contains the createplay()
method. This method contains the required attributes for the service. In figure 5.5.7, the used
attributes is for the DTMF service.
50. Major Project: Play & Record with Dtmf Service based on JSLEE 50
In figure 5.5.8, the method for the record service is developed. This method includes the required
attributes to initiate the record service.
Figure 5.5.8, The MSML Creator for the play and record service.
51. Major Project: Play & Record with Dtmf Service based on JSLEE 51
Figure 5.5.9, Integration of the library to the Service.
In figure 5.5.9, on line 594 and 595, The Msml Creator class is invoked and the method for the
play and record service is invoked. When this class is invoked the tag field is used to link the
MSML body to the required dialog of the service. The tag is the common value which links the
INFO message while sending the MSML body. The tag can be determined while sniffing the
application server and the media server by using wireshark.
This figure is very much same to the figure 5.4.3 on page 35; the only difference is that the
method is invoked to create the Msml instead of including the Msml + xml document.
52. Major Project: Play & Record with Dtmf Service based on JSLEE 52
6. Conclusion
The development of the Play & Record Service with the DTMF functionality makes it possible
for the SIP based end user to use various kinds of value added services.
Some value added services which can be utilized from the developed service are as follows:
1. Announcement call: In this service an announcement can be made to the end user.
2. Play voice call: In this service the user can record his or her, own voice and then play it back
after a few seconds.
3. Play music service: In this service the user can press a button on the SIP based phone and
then music will be played back to the user.
This service can further be extended depending upon the MSML which are based on CMS- 3000.
Some services like developing a music box, IVR (Interactive Voice Response) system can be
developed based on this implementation. One interesting future extension to this service can be to
use DTMF functionality to control the Energy Harvesting Devices. Based on figure 6.1, the SIP
based end user can use the DTMF functionality based on the CMS- 3000 server and then utilize
this functionality to control the EnOcean Devices.
Figure 6.1 Future extension of the service
53. Major Project: Play & Record with Dtmf Service based on JSLEE 53
7. References
[1] Ivelin Ivanov : Mobicents JSLEE for the People, by the People issued on March 14, 2006
available at http://today.java.net/pub/a/today/2006/03/09/mobicents-jslee.html.
[2] JAIN SLEE (JSLEE) 1.1 Specification, Final Release, issued in the year 2008, available at
http://jcp.org/aboutJava/communityprocess/final/jsr240/index.html.
[3] CONVEDIA MEDIA SERVER: MSML 1.1 INTERFACE REFERENCE issued date
December 2009, RELEASE 4.19.
[4] CONVEDIA MEDIA SERVER: MOML 1.0 INTERFACE REFERENCE issued date on
December 2009, RELEASE 4.19.
[5] Prof. Dr.- Ing. Ulrich Trick: Methods, Systems and Networks for Digital Communication,
Lecture on Next Generation Networks, Voice over IP and SIP.
[6] Ed Ort and Bhakti Mehta: Java Architecture for XML Binding (JAXB) issued on March
2003 available at http://www.oracle.com/technetwork/articles/javase/index-140168.html