SlideShare a Scribd company logo
Master Thesis
Management & Control of Home Automation
Devices based on EnOcean Technology with
                  JSLEE

                 Submitted by: Piyush Chand
    Submitted to: Prof. Dr. Ulrich Trick & Dr. Andreas Pech



            Date of Submission: 14th October 2011
Statement
I confirm that the master thesis is written by me without any assistant. No other sources were
used except those referenced.


Frankfurt, 14.10.2011




_____________________
Piyush Chand
Acknowledgement
        It gives me immense pleasure to thank all, who made this thesis to be accomplished.
Firstly, I would like to acknowledge Professor Dr.-Ing.Ulrich Trick for giving me an oppor-
tunity to work and write my thesis at the Research Group of Telecommunications, Frankfurt
am Main. The experience has been highly acknowledging and pleasuring.
       I would also like to express my gratitude towards my supervisors, especially to Tho-
mas Eichelmann for his skilful guidance, motivation and support during the progress of the
thesis work.
        I am also thankful to Armin Lehmann, Patrick Wacht and Patrick Ruhrig for their
skilful guidance, in depth discussions, moral support and maintaining a pleasant environment
during the progress of the thesis work,
     On a personal note, I would like to thank my parents and my uncle for their moral
support and encouragement.
      In the end, I would like to offer my regards to everyone who supported me during the
completion of the thesis work.
Content
1        Scope of Work                                                                                                           6

2        Theoretical Foundation                                                                                                  7
2.1      EnOcean Technology ............................................................................................. 7
2.1.1    Brief History of EnOcean Technology .................................................................... 7
2.1.2    An Overview of EnOcean Technology .................................................................... 8
2.1.3    EnOcean Communication Architecture ................................................................. 14
2.1.4    EnOcean Technology based Gateway ................................................................... 17
2.1.5    BSC-BAP-TX Access Point.................................................................................. 19
2.1.6    Wireless Actuator ................................................................................................. 22
2.1.7    Wireless single-phase energy meter ...................................................................... 24
2.1.8    Wireless Switch/Push-button ................................................................................ 25
2.1.9    Wireless Motion/brightness sensor ........................................................................ 25
2.1.10   EnOcean Equipment Profiles ................................................................................ 26
2.1.11   Standardization of EnOcean Radio Protocol .......................................................... 29
2.1.12   EnOcean Technology Summary............................................................................ 31
2.2      Transmission Control Protocol (TCP) ................................................................... 31
2.2.1    TCP Flow Control ................................................................................................ 32
2.2.2    TCP State ............................................................................................................. 33
2.3      Session Initiation Protocol .................................................................................... 34
2.3.1    Network Elements of SIP ..................................................................................... 37
2.3.2    Back to Back User Agent (B2BUA) ...................................................................... 38
2.3.3    SIP Dialog............................................................................................................ 39
2.4      Convedia Media Server ........................................................................................ 40
2.4.1    Media Server Mark up Language .......................................................................... 41
2.4.2    Media Server Control Channel.............................................................................. 42
2.5      JAIN Service Logic Execution Environment ......................................................... 43
2.5.1    JAIN (Java API for Integrated Networks) ............................................................. 43
2.5.2    Service Delivery Platform..................................................................................... 44
2.5.3    Service Building Block(SBB) ............................................................................... 47
2.5.4    Event, Event Routing............................................................................................ 48
2.5.5    Activity and Activity Context Interface ................................................................. 49
2.6      Resource Adaptor ................................................................................................. 51
2.6.1    Resource Adaptor Type ........................................................................................ 53
2.6.2    Resource Adaptor Entity....................................................................................... 54
2.6.3    Resource Adaptor Entity Life Cycle...................................................................... 54
2.6.4    Resource Adaptor Object Life Cycle ..................................................................... 56
3       Requirement Analysis                                                                                              58
3.1     General Objective ................................................................................................. 58
3.2     Objective of the Implementation ........................................................................... 58
3.3     Required Technologies ......................................................................................... 60
3.3.1   Hardware based Requirements: ............................................................................. 60
3.3.2   Software based Requirements: .............................................................................. 61

4       Realization                                                                                                       62
4.1     Installing Mobicents Application server ................................................................ 63
4.2     Installing Wireshark ............................................................................................. 64
4.3     EnOcean Resource Adaptor .................................................................................. 64
4.4     EnOcean Event Module ........................................................................................ 68
4.5     EnOcean Resource Adaptor Module ..................................................................... 69
4.6     EnOcean Activity & SIP Activity ......................................................................... 72
4.7     Activity Handler Module ...................................................................................... 73
4.8     EnOcean Service Building Block(SBB) ................................................................ 84
4.9     EnOcean Service Example.................................................................................... 91
4.9.1   DTMF functionality with EnOcean Service........................................................... 93
4.9.2   EnOcean ServiceAnnouncement Call .................................................................... 93
4.9.3   Announcement Call to turn Light On .................................................................... 94
4.9.4   Announcement Call to turn Light Off.................................................................... 95

5       Project Summary & Future Perspectives                                                                             97
5.1     Project Summary .................................................................................................. 97
5.2     Future Perspectives............................................................................................... 98

6       Abbreviations                                                                                                   103

7       References                                                                                                      106
1             Scope of Work
The scope of the Master Thesis research work is to integrate the home automation communi-
cating architecture to the telecommunication architecture. The research provides the founda-
tion of developing value added services for controlling and monitoring home automation
devices by a SIP (Session Initiation Protocol) [3261] UA (User Agent). The work demon-
strates a service by which a user can control and manage the home automation devices based
on EnOcean Technology by a SIP UA. The home automation devices are based on actuators
and sensors. The initial part of the thesis work is to develop an EnOcean Resource Adaptor
on the bases of JAIN SLEE (Java API for Integrated Networks Service Logic Execution
Environment) [Jain], this allows the Application Server to communicate with the EnOcean
Gateway. To evaluate the integration, a service based on the specification of [Jain] is devel-
oped. The service is developed to control the home devices like lamp, motion sensor and
energy meter with add on media functionality like an IVR (Interactive Voice Response)
system to control the house hold devices. This scenario of implementation provides a possi-
bility of integrating the smart home devices to the telecommunication architecture. A further
extension of this research work can be to set up a completely new set of value added services
through which a user can demonstrate services like controlling their house hold devices
which include light, motion sensors, energy meter by mobile devices.
The control of these devices is introduced as a service for the SIP UA. The research work
provides the possibility of more services for the user like IVR system for controlling house
hold devices, announcement calls for motion detection, announcement calls for various sen-
sors in the home etc. The complete functionality of integrating the home automation devices
to the telecommunication architecture depends upon the EnOcean Gateway which is an Ac-
cess point and industrial name is BSC-BAP-TX (Wireless Bolt Access Point) [Bscb]. The
gateway provision provides a possibility of an application server to be integrated to the EnO-
cean gateway on the bases of TCP/IP [1180], the handling of the TCP/IP is done by the
EnOcean Resource Adaptor. The gateway can communicate with home automation devices
over RF (Radio Frequency). As, the communication is established between the application
server, services can be developed by which management, monitoring, controlling can be
done by SIP UA or a Web user based on HTTP (Hyper Text Transfer Protocol) [2616].
2            Theoretical Foundation


2.1          EnOcean Technology
In this section of the thesis, a detailed description of the EnOcean[Enoc1] Technology is
provided. This section gives all the important and necessary information which includes
technical behaviour, working principle, EnOcean Technology supporting devices, advan-
tages, special features of EnOcean Technology. To provide home automation environment to
the user various technologies are in use one of the popular technology is the EnOcean Tech-
nology, this technology allows user to completely automate their home devices based on
sensors and actuators. The main innovation behind this technology is to harvest the energy
from the environment and then utilize that energy to create some activity like controlling
devices in the home that are controlled by actuators and sensors.




2.1.1        Brief History of EnOcean Technology


EnOcean is gradually becoming popular in developing automation devices for homes and
official buildings. As mentioned in [Enoc1] the EnOcean Alliance Group was founded by
Management & Siemens Technology Acceorometer. The EnOcean GmbH is a venture-
funded spin-off company of Siemens AG founded in 2001. It is a technology supplier of self-
powered modules like transmitters, receivers, transceivers, energy converter to companies
like Siemens, Distech Controls, Seamless Sensing which develop and manufacture products
used in building home automation devices for example light, shading, HVAC(Heat Ventila-
tion and Air Conditioner) and also industrial based automation like replacement of the con-
ventional battery in tyre pressure sensors. As mentioned in [Enoc1] the company has won
awards for its performance and technology including the Bavarian Innovation Prize 2002 for
its globally unique technology.
2.1 EnOcean Technology                                                                        8




2.1.2         An Overview of EnOcean Technology

The EnOcean Technology is based on providing Energy Harvesting wireless technology. As
mentioned in [Enoc2] the EnOcean Technology can broadly be divided to three major advan-
tageous divisions:
        Interoperable wireless standard: Monitoring and lighting control systems are readily
         available and wide-ranging product portfolio exists, based on an interoperable stan-
         dard technology together with interfaces to established automation solutions such as
         EIB (European Instalation Bus) that is a standard for home automation devices in
         europe and TCP /IP (Transmission Control Protocol /Internet protocol) [1180].
        Self-powered: The EnOcean devices are based on Energy Harvesting which makes
         the use of energy created from slight changes in motion, pressure, light, temperature
         or vibration. The self-powered wireless sensors help make buildings smarter, safer,
         more comfortable and more energy-efficient.
        Technology for sustainable buildings: EnOcean enabled wireless networks making
         it the most pervasive and field-tested wireless building automation standard.
As described in [Enoc1], EnOcean Technology is based on the energetically efficient exploi-
tation of applied slight mechanical excitation and other potentials from the environment
using the principles of energy harvesting. In order to transform such energy fluctuations into
usable electrical energy based on some electrical principles like Electromagnetic which is a
physical field produced by electrically charged objects. Piezogenerator: It is the charge
which accumulates in certain solid materials like notably crystals, certain ceramics. Solar cell
also known as photovoltaic cell or photoelectric cell is a solid state electrical device that
converts the energy of light directly into electricity by the photovoltaic effect Thermocouple,
It is a device consisting of two different conductors (usually metal alloys) that produce a
voltage proportional to a temperature difference between either ends of the pair of conduc-
tors. The EnOcean products are engineered to operate maintenance-free.
The transmission frequency used for the devices is 868.3 MHz which is a standard for home
automation devices. The EnOcean RF modules based on energy harvesting modules are
fundamentally based on consuming very low power electronics and reliable wireless trans-
mission. A small example scenario demonstrating the EnOcean Technology is shown in
figure 2.1.1.
2.1 EnOcean Technology                                                                                        9




2.1.1 Figure showing a complete optimizing heating and cooling solution based on EnOcean Technology [Enoc3]


Figure 2.1.1, shows a complete EnOcean based heating and cooling solution. The figure
consists of a Energy control which communicates with all the devices like Room temperature
sensor, humidity sensor, CO2 sensor, Contact temperature sensor for both air conditioner and
the heater, Window contact and Window handle sensor for ventilation. This is consider as an
example home automation scenario for heating, ventilation, air-conditioning.


The Concept of EnOcean Technology is mentioned in [ENOC3] states that Energy harvest-
ing wireless switches and sensors for Green-Smart-Wireless. The idea that led to this innova-
tive technology is based on a very simple observation: where sensors capture measured val-
ues, the energy state constantly changes. When a switch is pressed, the temperature alters or
the luminance level varies. All these operations generate enough energy to transmit wireless
signals. [Enoc3]
2.1 EnOcean Technology                                                                      10




Figure 2.1.2: Energy Harvesting Wireless Sensor Solution from EnOcean Technology. [Enoc3]


The basic principle of working of a sensor wireless module is shown in figure 2.1.2. This
framework is divided into two specific modules, the Wireless Sensor Module and the Wire-
less System Module which together combine to build up the Energy harvesting Wireless
Sensor Solution defined by EnOcean Technology.


         Wireless Sensor Module :
This module consists of five basic technical building blocks which are described as follows:
          1) Energy Convertor /Energy Harvesting Devices: This is the process by which
             energy is derived from external sources (e.g., solar power, thermal energy,
             wind energy, salinity gradients, and kinetic energy), captured, and stored for
             small, wireless autonomous devices.
          2) Microcontroller: This is used to utilize the embedded functionality behaviour of
             the wireless sensor module. This includes the processing and controlling of the
             devices depending upon the information received and also transmitted from the
             module.
          3) Energy Management: This sub-module adds up to the functionality of the wire-
             less sensor module, it can be used to manage other sensor based devices and
             Energy Converter/ Energy Harvesting Devices.
          4) Sensor: This sensor is a device that will measure a physical quantity and con-
             vert it into a signal which can be read by the microcontroller for processing and
             controlling.
          5) RF Transceiver: This sub module provides the functionality to send and receive
             RF (Radio Frequency) Signals.
2.1 EnOcean Technology                                                                         11




Figure 2.1.3: Wireless Sensor Module (Block Diagram)


The Energy Converter works as a component to convert energy from the nature based on
principles like piezogenerator, thermocouples, solar cells etc. as mentioned in chapter 2.1.2.
These devices acquire the energy from the environment which can be utilized based on the
EnOcean Technology e.g. wireless switches working on the principle of piezogenerator.
Now, to give an overview of the working is that the wireless switch consists of piezoelectric
crystals or fibers which generate a small voltage whenever they are mechanically deformed.
It changes the surface temperature of the piezoelectric crystals and excites the electrons of
the piezoelectric crystals which eventually generate energy. This Energy can be consumed to
send signals to the microcontroller which processes and controls the signals.
The sensor acquires the information from the environment and then sends this information as
signals to the microcontroller which eventually processes and controls the information. For
example, a motion sensor will sense some motion on the base of sound (acoustic sensors),
opacity (optical and infrared sensors and video image processors), geomagnetism (magnetic
sensors, magnetometers), reflection of transmitted energy (infrared laser radar, ultrasonic
sensors, and microwave radar sensors), electromagnetic induction (inductive-loop detectors),
and vibration (tribo-electric, seismic, and inertia-switch sensors). All these are principles that
detect motion and then the sensor will send a signal to the microcontroller.
After receiving all the signals based on sensors or Energy Converters the microcontroller can
transmit these signals over a transceiver as a RF (Radio Frequency) signal.


         Wireless system module:
This module actually concludes to the module wireless sensor module, so as mentioned ear-
lier when the transceiver sends a RF(Radio Frequency) signal the transceiver at the wireless
2.1 EnOcean Technology                                                                      12

system end receives this signal and then operates the actuators depending upon the type of
message received.




Figure 2.1.4: Wireless System Module




As, concluding from figure 2.1.3 the wireless system module receives the RF signal as
shown in figure 2.1.4 and then after processing, the microcontroller sends the signal to the
actuator This module consists of three sub modules which are as follows:
     1.   Transceiver: The transceiver receives the signal from the sensor module which is
          processed by the microcontroller.
     2.   Microcontroller: The microcontroller processes the signals and transmits it to the
          actuator depending on the type of message (this message is the Telegram Message
          which will be mentioned in detail later on). The type of message consists of a status
          field, measured field and also a controlling field which eventually controls the ac-
          tuator depending upon the message received.
     3.   Actuator: An actuator is a mechanical device for moving or controlling a mecha-
          nism or system. It is operated by a source of energy, usually in the form of an elec-
          tric current. So this actuator can be used to do various kinds of operations. For ex-
          ample turning light on, controlling heating system, controlling air conditioner.
2.1 EnOcean Technology                                                                                     13




Figure 2.1.4: The complete abstract-level overview of the wireless Energy Harvesting EnOcean Technology.


The complete abstract view after combining the wireless sensor module and the wireless
system module can be seen in figure 2.1.4 which shows how Energy converters and Sensors
can be utilized to create an action on the actuator. So concluding with the same idealistic
approach some examples can be viewed. For example any motion sensor can produce an
action on the actuator to make some event like controlling the heating system.
Some of the important features of the EnOcean Technology as mentioned in [Enoc3] are as
follows:
     A highly optimized automation and controlling solution.
     Easy to integrate components, for example Energy converters, energy management &
      radio modules, system & communication software.
     Radio modules without batteries: The required operating energy is typ. 50 μWs per
      radio telegram only.
     Operating energy is generated by pressure, movements, light, temperature, vibration,
      rotation, etc.
     High transmission range: Up to 300 m outdoor up to 30 m indoor.
     Minimal emission energy: Less than the spark radiation of a conventional light
      switch, one million times less a mobile phone.
     Reliable signal transmission, suited for systems with hundreds of sensors (since signal
      transmission time is a thousand of a second only)
     Reliable against external disturbances: Repeated radio signal transmission delayed at
      random, using of regulated frequency ranges approved for pulsed signals only
     Prearranged transmitter to receiver assignment: Four billion code numbers are fixed,
      easy learning procedure (push receiver learn button and activate transmitters)
Considering all the aspects of the EnOcean Technology, the most specific feature is the En-
ergy Harvesting Concept to control home automation devices.
2.1 EnOcean Technology                                                                            14

EnOcean Technology Technical Characteristics as mentioned in [Enoc3] are shown in figure
2.1.1, which is as follows:
Table 2.1.1: Characteristics of the EnOcean Technology modules.

Frequency                          868.3 MHz or 315 MHz (depending upon on the location)

Transmission power:                6 dBm (antenna input)

Receiver sensitivity:              -97 dB

Modulation type:                   ASK

Data rate                          125 kHz

Channel bandwidth                  280 kHz

Radio telegram                     1 ms, variable telegram length (e.g. 53-130 bit incl. 32 Bit
                                   sensor ID, 1-4 byte sensor data, checksum)

Transmission time                  40 ms for three identical radio telegrams, delayed at
                                   random




2.1.3              EnOcean Communication Architecture
The EnOcean Technology builds up its own communication architecture based upon actua-
tors. Based on [Enoc4] EnOcean is a patented energy harvesting wireless sensor solution
which enables to generate a signal of range from an extremely small amount of energy. From
just 50 μWs a standard EnOcean energy harvesting wireless module can easily transmit a
signal 300 meters. The secret lies in the signal duration which means that the entire process
is started, executed and completed in no more than a thousandth of a second.
Figure 2.1.5, shows the network architecture of EnOcean Technology, the bidirectional com-
ponents are gateways which communicate over TCP/IP, EIB, KNX, Modbus, these are the
standards for communication in home automation devices. The receivers are actuators which
basically communicate over RF. The battery less switches are transmitters which also com-
municate over RF. A common message protocol is followed which is known as telegram
message which allows to create any kind of activity on the actuators and sensors.
2.1 EnOcean Technology                                                                 15




Figure 2.1.5: EnOcean Wireless Networking System with battery-less nodes. [ENOC4]


The EnOcean Technology based network communication architecture is basically divided
into two areas which are as follows:
         Radio Frequency (Access Network)
         TCP/IP (Transmission Control Protocol/Internet Protocol), EIB(European Installa-
          tion Bus), KNX, Modbus(Wired Backbone).


The communication architecture of EnOcean Technology can be divided into two areas
which are as follows:
     1) Radio Frequency based wireless communication which can be correlated to the ac-
        cess network in regard to the conventional network architecture.
     2) TCP/IP or any other specific backbone related protocol (e.g. LON, EIB/KNX,
        Mobus) can be used to build the backbone architecture for the communication.
2.1 EnOcean Technology                                                                  16




Figure 2.1.6 EnOcean Technology based Network architecture


In figure 2.1.6, the EnOcean Technolgy communication architecture can be seen. The archi-
tecture consists of the following network elements:
         Access network: The access network is a RF signal based wireless network which
          allows sensors and energy harvesting devices to communicate with the Gateway.
         Backbone network: The backbone network is based on TCP/IP. The gateway can
          send information received from the access network to the backbone network. The
          sending information and receiving information is based over TCP/IP
         Sensor: The sensor is network element in the access network and communicates
          over RF signals.
         Gateway: The gateway will operate like a transceiver within the access network
          based on RF signals.
         Energy Harvesting Devices: The transmission of information by these devices is
          based on RF signals.
The Energy harvesting devices and the Sensors transmit information based on RF signals.
The backbone architecture is TCP/IP based which is connected to the gateway. This gateway
can send and receive signals from the access network. However, in the backbone architecture
the gateway can send the information over TCP/IP.
Keeping in mind, the transmission at access network is based on RF signals. It becomes very
important to analyse the transmission rate of the telegram messages, which is an EnOcean
Technology specified protocol. Figure 2.1.7 shows a graph which measures the transmission
reliability.
2.1 EnOcean Technology                                                                    17




Figure 2.1.7: Transmission reliability Graph [Enoc4].


In this graph, a comparison of typical radio sensor transmission and the EnOcean technology
based transmission is compared. The number of sender transmitting data increases gradually
making. Closely analysing the graph, it can be depicted that as the number of senders in-
creases, the transmission of typical radio sensor decreases. In the same graph scale, the
transmission of EnOcean technology based sensors is much higher; this makes the possibility
of telegram collision rate to decrease. As mentioned in [Enoc4] transmission reliability is
still better than 99.99% for 100 wireless sensors each transmitting their data once a minute.
Considering this information to be accurate, it gives a possibility that a large number EnO-
cean wireless sensors and modules can be used in the same building which will transmit
reliable telegram messages.




2.1.4            EnOcean Technology based Gateway

The EnOcean Technolgy based gateway is one of the important elements in the communica-
tion architecture of EnOcean Technology. This allows to interact with the access based net-
work devices and to send the information over TCP/IP. In simple words it is a gateway
which has the capability to send and receive information over TCP/IP and also operates as a
transceiver for the energy harvesting devices and sensors, as mentioned in chapter 2.1.3.

Figure 2.1.8 shows the picture of the used BSC-BAP-TX wireless access gateway. This
gateway consists of a TCM (Transceivers Module) 120 modules, this module consists of the
functionality of a wireless sensor module and a wireless system module as mentioned in
chapter 2.1.2. The TCM-120[Tcmu] module serves the 868 MHz air interface protocol of
2.1 EnOcean Technology                                                                     18

EnOcean. It receives all signals of the EnOcean radio transmitters e.g. modules PTM (Push-
button Transceiver Module)-100 and makes them available at the serial port. The PTM is a
wireless push button controller which is a wireless switch and is mentioned in detail in chap-
ter 2.1.8.




Figure 2.1.8: A picture of the BSC-BAP-TX Gateway.[Bscb]


The gateway operates on an embedded module TCM-120. The transceiver module TCM 120
of EnOcean enables the implementation of bi-directional RF applications based on the inno-
vative EnOcean radio technology. Typical applications are bi-directional EnOcean compati-
ble radio interfaces, e.g. to existing system solutions or bus systems. The TCM 120 trans-
ceiver module serves the 868 MHz air interface protocol of EnOcean radio technology.
[Tcm1]


Important features of the BSC-BAP Access Point based on TCM 120 transceiver which are
mention in [Bscb] are as follows:

        128 actuators and an optional number of transmitters that is compatible with EnO-
         cean wireless technology per BAP.
      It can be integrated in an existing network infrastructure.
      PoE(Power over Ethernet) can be used for connection
      BSC - BAP uses up to 0.5 Watts of power which makes it a very low power con-
         sumption device.
      EnOcean technology based devices can be integrated to the BSC-BAP. For exam-
         ple, PTM-200 or PTM-100, Wireless Actuators, Wireless sensors based on EnO-
         cean Technology.
There are some limitations of the gateway which are mentioned in [Bscb] and are ellabo-
rateed as follows:

     1) The electrical field strength and the magnetic field strength are inversely propor-
        tional to the square of the distance between the sender and the receiver. This has an
        affect while transmitting RF signals.
     2) Interfaces by materials like metallized foils of thermal insulator, metallized heat-
        absorbing glass. These materials can reflect electromagnetic waves. A so-called ra-
2.1 EnOcean Technology                                                                       19

         dio shadow is built up behind these parts. Some figures related to the amount of
         penetration of radio signals which can be created are as follows:
         Table 2.1.3 EnCana RF penetration level in percentage.[Bscb]
                      Material                  Percentage of Penetration
          Wood, gypsum, glass uncoated                90 to100%
           Brick, pressboard                          65 to 95%
          Reinforced concrete                         10 to 90%
          Metal, aluminium pasting                     0 to10%

        Figure 2.1.10, shows a picture of range and penetration being decremented when an
        iron acts as an obstacle between the transmissions.




        2.1.9 Radio path range/-penetration, Reference:


        As, it is shown on the left side of the figure 2.1.9, that the iron casts a radio shadow
        between the receiver and the sensor. This is a drawback while implementing the
        sensor and actuator based home automation environment. On the right side of the
        figure 2.1.9, the effective range of radio frequency between two receivers. As one is
        receiving a very good range of radio frequency and the other one is receiving it at a
        slightly lower level.




2.1.5         BSC-BAP-TX Access Point
The industrial name provided to the EnOcean Gateway is BSC-BAP-TX Access Point
[Bscb].This gateway operates on 5 ports; all these 5 ports define a specific functionality
depending upon the different types of functions which can be used. In this section, a detail
overview about the EnOcean Gateway Ports is described. The 5 ports can be utilized on the
bases of network programming, specifically client server programming. To mention in detail
among the 5 ports, 2 ports work as a client socket where the remaining 3 work as a server
socket. Following is a list of Ports which is utilized to use the functionality of the EnOcean
Gateway:
    1) 2010: This port is used to configure the IP address of the EnOcean Gateway
2.1 EnOcean Technology                                                                         20

    2) 2001: This port is utilized to establish a connection between the Gateway and the
         Server.
    3) 2100: This port is utilized to handle the connection between the gateway and the
         Server. However, this port can be changed which allows more gateways to connect
         to the server.
    4) 2003: This port is utilized to make sure that the Gateway is ready.
    5) 2005: This port is utilized to send a specific message to the gateway.
    6) 2002: This port is utilized to close the connection between the gateway and the
         server.
The different types of ports and their functionality are described as follows:
     Port 2010 : Setting Server and Gateway IP-addresses
         This port is used for initial configuration of the gateway IP-address and the server
         IP-address. This port is used to establish a connection and configure the BSC-BAP
         Gateway and Server.
         SETIP#<IP-ADRESS>#<Sub network>#<Server-IP>
         This command can be used anytime to change the IP-addresses of the gateway and
         the server.
     Port 2001: open connection for the Gateway
         This port is used to establish the connection between the gateway and the server. It
         means gateway is trying to connect to the port 2001 of the server in a cyclic way,
         each 10 seconds.
     Ports from 2100: the transfer ports on the Server for receiving the telegrams from
         the Gateway
         These ports are to be chosen by user. It can be any port from 2100. The data ex-
         change between gateway and server. This provides the functionality to receive the
         telegrams sent from the gateway.
     Port 2002: Send control commands to the Gateway
         This port provides the functionality for server to send controlling commands for
         disconnecting from gateway and to reset the gateway.
         >>>>byebye<<<< (String)
         This string is used to close the connection between the gateway and the Server
         >>>>>reset<<<<<< (String)
         This string is used to reset or restart the gateway. This functionality is similar to the
         hardware reset button on the upper side of the gateway

        Port 2003: check the readiness of the Gateway. To ensure that there is no failure in
         the operation of the gateway, the server should verify the readiness of the gateway
         in a cyclic way. The user can define the period of cyclic checks. If the gateway is
         ready, the server receives the message “ready” on port 2003. Normally gateway
         send “>>>>ready>>>>(String)” message every 10 seconds.
2.1 EnOcean Technology                                                                            21

Considering the functionalities of the port, the complete procedure of utilizing the ports is
explained as follows:
Initially, port 2001 is opened as a server socket. This allows the gateway to establish a con-
nection to the server. The next step is that the server acts as a client and sends a message.
This message includes three important parameters: accepting the connection, system Nano-
time and a specific port number which is 2100 i.e. the port can be equal to 2100 or more than
2100, this allows the gateway to send telegram messages specifically on this port which is
send to the gateway by the server. After following this process a TCP connection is estab-
lished between the gateway and the server.

                                                                                       EnOcean
     EnOcean
                                                                                       Resource
     Gateway
                                                                                       Adaptor




                     EnOcean Gateway Establishing a connection


                Accepts Connection & sends message containing Port   ServerSocket(Port 2001)
                           2100 and System Nano Time




                          Receive Telegram Messages                  ServerSocket(Port 2100)



                          Receive READY Status Message
                                                                     ClientSocket(Port 2003)




                              Sends Telegram Messages
                                                                     ClientSocket(Port 2005)



                       Sends RESET Status or BYE Status Message
                                                                     ClientSocket(Port 2002)



Figure 2.1.10 shows the MSC between the gateway and the EnOcean Resource Adaptor


Now, the gateway is ready to send out telegram messages as string. To make sure that the
gateway is ready to send telegram messages another port 2003 is utilized which is opened as
a client socket. As this port is initiated a specific ready string is sent to the server, this string
verifies that the gateway is ready to send and receive telegram messages. Figure 2.1.10,
shows a MSC between the EnOcean gateway and the EnOcean Resource Adaptor. The EnO-
cean Resource Adaptor is based on the JSLEE model which is explained later in the thesis.
2.1 EnOcean Technology                                                                    22

After, completing the connection and the ready state, the gateway is ready to receive tele-
gram messages from the server. To send a telegram message to the gateway a specific port
2005 is used, which is opened as a client. On this port telegram messages are sent which
allow any kind of activity on the EnOcean device depending upon type of telegram message.
For closing the connection between the gateway and the server, another port 2002 is used.
On this port a specific string >>>>byebye<<<< is sent which closes the connection between
the gateway and the server.
Table 2.1.2 List of the EnOcean gateway ports and their functionality
            Port                           Functionality               Type of Socket
            2001                 Establish Connection, gateway          Server Socket
                                 can receive a special message.
            2100                 Special port to receive messages       Server Socket
                                 from the gateway.
            2003                 To make sure gateway is ready          Client Socket
            2005                 To send telegram messages              Client Socket
            2002                 To send message for closing            Client Socket
                                 connection or resetting connec-
                                 tion.




2.1.6         Wireless Actuator
The wireless actuator [Elta1] is an impulse switch with integrated functionality to the EnO-
cean communication architecture. Some of the important features as mentioned in related to
the devices are mentioned below:

       The universal impulse switching relay can be controlled by a conventional 230 V
        AC control switch.
       35 wireless pushbuttons can be assigned to the wireless actuator. The wireless
        pushbuttons are configured by using the learning functionality of the wireless actua-
        tor.
       Wireless window/door contacts can also be configured to the wireless actuator. In
        this scenario there can be two possibilities: firstly the window/door is opened this
        can be facilitated to the wireless actuator by using the normally open (N/O) contact
        functionality; secondly window/door is closed by using normally closed (N/C) con-
        tact while the window is closed.

       The wireless actuator consists of functionalities which can be configured depending
        upon the requirements. Following is a table which shows some configuring features
        of the wireless actuator:
2.1 EnOcean Technology                                                                                       23




          Table 2.1.3 Configuration mode of the wireless actuator
           Configuring modes Configuring functionality
            ER                            Switching relay
            ESV                           Impulse switch. Possibly with off delay
                                          + = ESV with push-button permanent light
                                          + = ESV with switch-off early warning
                                          + = ESV with push-button permanent light and switch-off early warning.


            LRN                           Using this configuration field a push button can be made to learn with
                                          the wireless actuator.
            CLR                           This configuration filed is used to clear old set configuration mode.



The following figure 2.1.11 shows the place on the wireless actuator where the configuration
related to the above mentioned functionalities can be done.




Figure 2.1.11: Wireless Actuator[Elta1]


The wireless actuator consists of two configuration section:
One is to configure the functionality of the wireless actuator depending upon the require-
ments as mentioned in table 2.1.3; this section can be seen as the configuring mode place on
the wireless actuator. The other section is the time relay configuration section which allows
the wireless actuator to modify the time relay of the receiving signals, this makes it possible
to expand the communication architecture if many actuators are located in a home or build-
ing.
2.1 EnOcean Technology                                                                   24


2.1.7            Wireless single-phase energy meter
The wireless single-phase [Elta2] energy meter measures active energy by means of the cur-
rent between input and output and transmits the consumption and meter reading over the RF
signal.




Figure 2.1.12: Wireless Single Phase Energy Meter [Elta2]


Some of the important features of the Wireless Single phase Energy Meter [Elta2] are as
follows:
      The wireless energy meter gives a reading only when the power consumption is
         more than 0.3 watt active power.
      Only a one phase conductor with a maximum current up to 16A (Amperes) can be
         connected.
      The rush in current is 20mA.
      The reading of the energy consumed is saved to a non-volatile memory and is im-
         mediately available again after a power failure.
      The change in power status by 10 % enables the wireless energy meter to send a
         telegram message within 20 seconds.
      A full telegram comprising meter reading and power status is transmitted after
         every 10 minutes.
      When the power supply is switched on, a teach-in telegram is sent to teach in the as-
         sociated energy consumption indicator.
2.1 EnOcean Technology                                                                     25


2.1.8            Wireless Switch/Push-button
The wireless switch/push-button as mentioned in [Elta3], operates with in the access net-
work. RF signals are used for the transmission of telegram messages. Figure 2.1.13 shows an
example of a single rocker switch which can be used to send telegram messages within the
RF signal. The wireless switch is based on the PTM -100. As, mentioned in [Ptms], this
module is based on the principle of electro-dynamic energy transducer, which sends out RF
signals when the button is pressed and released.




Figure 2.1.13: Wireless Switch/Push Button [Elta1]


Important features of the wireless push button [Elta3] are as follows:
         The Wireless push-buttons with one rocker, one rocker push button means that only
          one button can be used to evaluate the functionality of transmitting telegram mes-
          sages over RF signals. It transmits two evaluable signals: press rocker up and press
          rocker down.
         Wireless push-buttons with double rocker can transmit four evaluable signals: press
          two rockers up or down.



2.1.9            Wireless Motion/brightness sensor

The wireless motion sensor [Elta4] operates within the access network of the EnOcean com-
munication architecture, this enables the device to send telegram messages over RF signals
to the EnOcean gateway. Figure 2.1.14 shows a figure of the wireless motion sensor.
2.1 EnOcean Technology                                                                      26




Figure 2.1.14: Wireless Brightness/ Motion Sensor


Important features of the wireless motion sensor [Elta4] are as follows:
         The wireless motion sensor transmits telegram messages to the EnOcean wireless
          access network after every 100 seconds.
         The wireless motion sensor transmits two signals instantaneously after detecting
          motion.
         The switch-off signal is sent after the off delay which has a fixed setting of 1 min-
          ute.
         The motion sensor transmits signals with the information of the status every 20
          minutes.




2.1.10           EnOcean Equipment Profiles
In this chapter, information with respect the EnOcean Equipments Profiles and the telegram
messages will be provided. The EnOcean Equipment profile is a specification on which tele-
gram messages can be created. The telegram message is message stack which is transmitted
on RF signals. The EnOcean Equipment Profile provides the information of the telegram
stack which is described in this chapter. Based on [Eepv1], the telegram message stack can
be created which can provide functionalities like turning light ON and turning light OFF.

Definition: The EnOcean Equipment Profile (EEP) is a unique identifier that describes the
functionality of an EnOcean device irrespective of its vendor. [Eepv1]

During the time of development a new EnOcean Equipment Profile is being released, this
profile introduces some more functionality like Smart Ack, Remote management (RPC),
MSC telegram, Bi-directional profiles (4 BS).

New Definition: The ERP specification defines the structure of the entire radio telegram.
The user data embedded in this structure is defined by the EEP. [Eepv2]
2.1 EnOcean Technology                                                                     27

However, in this chapter the old specification [Eepv1] is being explained as during the reali-
zation phase, the old specification [Eepv1] is being used. In chapter 2.1.11, a small descrip-
tion about the new functionality and a new radio protocol stack is mentioned.

The EEP (EnOcean Equipment Profile) is defined on the bases of EnOcean technology de-
fined fields:
     ORG: Identifies the EnOcean Messages which allows the communication of the
          EnOcean devices.
     FUNC: This field represents the basic functionality of the data content in the tele-
          gram message.
     TYPE: This field represents type of device in its individual characteristics.

In figure 2.1.15, the telegram stack is presented, in this figure it can be seen how the tele-
gram stack is organized and which fields are useful for developing an EnOcean message.




Figure 2.1.15: Telegram Stack [Tcmu]


The Data_Byte field represents the FUNC field of the telegram message that provides the
functionality of the telegram message. The FUNC field describes the type of activity to be
created. So the functionality to make a light to turn on or off is handled by this field. The
ID_BYTE field represents the TYPE field of the telegram message. Figure 2.1.15 elaborates
the functionality of the telegram stack in detail. The main functionality of the telegram mes-
sage stack can be understood by the figure 2.1.16. In this figure basically the complete stack
is explained.
2.1 EnOcean Technology                                                                     28




Figure 2.1.16: Detail Description of the EnOcean Telegram [Tcmu]


Following a detailed description of the Telegram message is provided:
     1.   SYNC_BYTE: This field of the stack is used for synchronization of received bytes
          and sent bytes. It consists of two sync bytes which are 8 bits each. [Tcmu]
     2.   H_SEQ: This field of the stack is the Header Sequence; this field identifies which
          type of function the telegram message will implement. The length of this field is of
          3 bits. [Tcmu]
Types of telegram functions:
     3.   RRT (Received Radio telegram): the function to receive radio data telegram on the
          BSC-BAP-TX [Bscb] gateway.
     4.   TRT (Transmit Radio Telegram): This function of the telegram message provides
          the function to transmit radio data telegram to the BSC-BAP-TX [Bscb] gateway.
     5.   RMT (Receive Message telegram): This function of the telegram message provides
          the function to receive telegram messages from the energy harvesting devices.
     6.   TCT (Transmit Command Telegram): This function of the telegram message pro-
          vides the function to send command telegram messages which means, the energy
          devices can be controlled by using this telegram message.
     7.    LENGTH: This field of the stack provides the information about the number octets
          following the header octet. This field length is of 5 bits and combines with H_SEQ
          field to complete 1 Byte of the telegram stack.
     8.   ORG: This field defines which type of telegram is used within the telegram stack.
          For TCM-120 module there are 6 types of telegram messages, which are shown in
2.1 EnOcean Technology                                                                       29

          figure 2.1.16, in this figure the ORG can be distinguished on the bases of the type of
          functionality. [Tcmu]




Figure 2.1.17: Detail Description of the ORG Field[Tcmu]


A new version of the EnOcean Equipement profile is also available, in this specification new
functionalities have been added to make it KNX association standard. The new specification
mentioned on [eepv2] has the following changes which are as follows:
         New 4 BS telegrams
         Smart Ack [Enoc6 ]
         Remote management (RPC) [Enoc7]
         MSC telegram [Eppv2]
         Bi-directional profiles (4 BS) [Eppv2]
         Introduction of Encryption in the presentation layer[ Enoc8]



2.1.11          Standardization of EnOcean Radio Protocol

In this sub chapter a detail description about the standardization of the EnOcean Radio Pro-
tocal is provided. In this chapter the new standard as mentioned in [Enoc8] is explained. As
mentioned in chapter 2.1.10, a new specification is released. The new specification follows
this standard.
A standardized set of radio protocol is utilized by the EnOcean technology based devices.
This determines the transmission layer of the EnOcean technology based devices. Figure
2.1 EnOcean Technology                                                                    30

2.1.18, shows a table of the standardized EnOcean Radio Protocol. The transmission layer is
divided into 7 layers which are as follows:
     1) Application Layer: At this layer of the EnOcean Standard the Data interpretation
        with respect to the EnOcean Equipment Profile is utilized.
     2) Presentation Layer: This layer of the EnOcean Standard, introduces to some basic
        functionalities like data encryption, data decryption, encapsulating and decapsulat-
        ing the retrieve and transmitted data.
     3) Session Layer: No functionality of creating a session is utilized in the EnOcean Ra-
        dio Protocol till yet maybe it can be enhanced for future.




Figure 2.1.18 Standardization of EnOcean Radio Protocol [Enoc8]




     4) Physical Layer: the Physical layer operates at the RF Signal level which considers
        functionalities related to bit sampling, carrier frequency, modulation, data rate, Tx
        power, Rx sensitivity
     5) Transport Layer: This layer provides the functionality of remote management,
        Smart Ack. Smart Ack enables bidirectional communication. The communication
        is managed by a Controller that responds to the devices telegrams with acknowl-
        edges, for more information please refer to document. [Enoc8], [Enoc6]
2.2 Transmission Control Protocol (TCP)                                                   31

    6) Network Layer: This layer provides functionality of addressing, networking, rout-
       ing, switching, and repeating. The routing and repeating of the telegram messages is
       operated on the bases of the decoded telegram messages. Important decoded tele-
       gram message fields at the bytes level are utilized.
    7) Data Link Layer: This layer provides functionality of decoding and encoding the
       telegram messages like synchronization of bits, checksum of bits, CRC (cyclic re-
       dundancy check) for error detection and LBT (Listen Before Back). LBT is a tech-
       nique used in wireless communications whereby a wireless transmitter or repeater
       first senses its wireless environment before starting a transmission. The aim is to
       avoid collisions with other senders. It is an optional feature of the transmitting de-
       vice. [Enoc8]



2.1.12        EnOcean Technology Summary
The EnOcean Technology is known as a standard for home automation devices which makes
it possible for various kinds of actuators and sensors located in the home to communicate
with each other. The main advantage is that the transmitting devices which are based on
energy harvesting technique that means these devices acquire the energy from the environ-
ment based on simple concepts of electrical and mechanical engineering. The provision of
the gateway makes it possible to extend the EnOcean Technology based communication
architecture. The above mentioned devices are the important elements of EnOcean Teach-
nology. There are many other kinds of home devices performing heating and cooling tech-
niques based on sensors and actuators on the same principle.



2.2 Transmission Control Protocol (TCP)
The TCP [793] is one of the core protocols of the Internet Protocol Suite. This protocol is
specified in RFC -793, which provides all the information about TCP. The concept was first
mentioned by Cerf and Kahn. This protocol came to existence from September 1981 and
was developed by IETF (Internet Engineering Task Force).As, mentioned in [793] TCP is a
connection-oriented, end-to-end reliable protocol designed to fit into a layered hierarchy of
protocols which support multi-network applications. The TCP provides reliable inter-process
communication between pairs of processes in host computers attached to distinct but inter-
connected computer communication networks. It is intended to provide a reliable process-
to-process communication service in a multi network environment. The main functionality is
connection establishment based on three way handshake concept, sequencing number, flow
control, after timeouts repetition of a TCP message by transmitter, multiplexing of TCP
connection by ports and sockets, checksum with header and data.
2.2 Transmission Control Protocol (TCP)                                                     32


2.2.1         TCP Flow Control
TCP is based on the logical concept of flow control; the flow control is basically based on
the different types of control flags which provide the information of the three way hand
shake between a server and a client.
As, mentioned in [793], TCP provides a means for the receiver to govern the amount of data
sent by the sender. This is achieved by returning a "window" with every ACK indicating a
range of acceptable sequence numbers beyond the last segment successfully received. The
window indicates an allowed number of octets that the sender may transmit before receiving
further permission.
The connection is initiated by a client and then the server sends back an acknowledgement to
the user to establish a connection. After the connection that client sends the datagram packets
to the server. This operation is flowed back and forth between the client user and the server,
until the required data is transmitted. In the end to release the TCP connection another pa-
rameter is set. There is defined TCP terminology based on the functionality of TCP which is
known as control flags. The communication in TCP is based on control flags which are as
follows:

    1.   SYN = 1: This value provides the information that the TCP-connection establish-
         ment is initiated.
    2.   ACK = 1: This value provides the information of the Acknowledgement of a re-
         ceived TCP-packet.
    3.   FIN = 1: This value provides the information that a TCP-connection is release.

The above mentioned control flags are the basic principle of communication in TCP, Figure
2.2.1 shows an example of the control flags between a client and a server.
2.2 Transmission Control Protocol (TCP)                                                                     33



                                                                  1.    The client sends a SYN packet
                                                                        to establish a connection.
                                                                  2.    The server sends an ACK
                                                                        packet to acknowledge the
                                                                        SYN packet.
                                                                  3.    The client completes the three-
                                                                        way handshake.
                                                                  4.    The client sends the actual re-
                                                                        quest.
                                                                  5.    The client sends a FIN packet
                                                                        to indicate that it is done send-
                                                                        ing.
                                                                  6.    The server acknowledges the
                                                                        request and the FIN.
                                                                  7.    The server sends the reply
                                                                        back to the client.
                                                                  8.    The server sends a FIN packet
                                                                        to indicate that it is also done.
                                                                  9.    The client acknowledges the
                                                                        server's FIN.
Figure 2.2.1 Example of TCP Control Flow[Tsac ]




2.2.2           TCP State
Based on the logic of the flow control in the TCP, complete state can be seen in table 2.2.1.
The handling of the gateway and the application server is based on TCP. The connection is
established on a specific port and other functionalities are handled on various other ports
which are described in chapter 2.2.1, while developing the network interface between the
application server and the EnOcean gateway based on [Jain], it becomes essential to analyse
the TCP connection between the EnOcean gateway and the Application Server. Based on
[793] Following is a list of state:

  Table 2.2.1 TCP state table
      State                                                 Functionality
       LISTEN             Represents waiting for a connection request from any remote TCP and port.

                          Represents waiting for a matching connection request after having sent a connection
     SYN-SENT             request.

                          Represents waiting for a matching connection request
   SYN-RECEIVED
                          Represents an open connection, data received can be delivered to the user. The normal
   ESTABLISHED            state for the data transfer phase of the connection.
2.3 Session Initiation Protocol                                                                         34

                       Represents waiting for a connection termination request from the remote TCP, or an
                       acknowledgment of the connection termination request previously sent.
    FIN-WAIT-1
                       Represents waiting for a connection termination request from the remote TCP.
    FIN-WAIT-2
                       Represents waiting for a connection termination request from the local user.
   CLOSE-WAIT
                       Represents waiting for a connection termination request acknowledgment from the
      CLOSING          remote TCP.

                       Represents waiting for an acknowledgment of the connection termination request previ-
                       ously sent to the remote TCP (which includes an acknowledgment of its connection
     LAST-ACK          termination request).




The above table gives the information of all the possible states, while the TCP communica-
tion is established between a client and a server. During the implementation the TCP com-
munication is one of the important protocols to analyse as the EnOcean gateway communica-
tion with the Application Server is based on TCP/IP.




2.3           Session Initiation Protocol

The Session Initiation Protocol (SIP) is a signalling protocol used for establishing sessions in
an IP network. The first RFC of SIP was 2543 which was published in 1992. After that many
RFC have been created. The most recent RFC is 3261. To design a simpler and more modu-
lar way to do voice over IP, SIP was standardized in 1999 by the Internet Engineering Task
Force (IETF). SIP makes it possible to use it for signalling between two user agents. Based
on SIP, two-party sessions that are ordinary telephone calls, multiparty sessions that allow
everyone to hear and speak, and multicast sessions which means one sender, many receivers
can be realized. The session may contain audio, video, or data, the latter being useful for
multiplayer real-time games. SIP just handles setup, management, and termination of ses-
sions. Other protocols, such as RTP (Real Time Protocol) and RTCP (Real Time Communi-
cation Protocol), are used for data transport. SIP is an application-layer protocol and can run
over UDP [768] or TCP. SIP is a request-response protocol that closely resembles two other
Internet protocols, Hyper Text Transfer Protocol (HTTP) and Simple Mail Transfer Protocol
(SMTP). SIP is compatible with Internet applications.
According to RFC 3261, SIP is an application-layer control protocol that can establish, mod-
ify, and terminate multimedia sessions (conferences) such as Internet telephony calls. SIP
can also invite participants to already existing sessions, such as multicast conferences. Me-
dia can be added to (and removed from) an existing session. SIP transparently supports
name mapping and redirection services, which supports personal mobility.
2.3 Session Initiation Protocol                                                                             35

The logic of SIP resides upon the SIP messages which are based on request and response
which is basically like HTTP. In the following description of SIP, the types of messages and
there operation are described.


SIP Request:
SIP requests represent one type of SIP messages. There are many types of SIP messages
depending upon the type of service or methods required while developing a SIP based logical
service. The following Table 2.3.1represents all types of SIP requests, short description and
the corresponding RFC, further detailed information on each type of request is mentioned in
RFC 3261.
 Table 2.3.1 Table of SIP request

     Request                                         Description                                   RFC

   INVITE        When received indicates that client is invited to take part in communication;   RFC 3261
                 when sent – inviting other client to take part in a call session

   ACK           Confirms the receipt of INVTE request.                                          RFC 3261


   BYE           Terminates the call session, can be sent by both called and calling part.       RFC 3261



   CANCEL        Used for cancelling any pending request.                                        RFC 3261



   OPTIOINS      Retrieval of server capabilities                                                RFC 3261


   REGISTER      Send user’s address to the server to register.                                  RFC 3261



   PRACK         Provisional Acknowledgement.                                                    RFC 3262


   SUBSCRIBE     Subscribes for an event notification from the Notifier.                         RFC 3265



   NOTIFY        Notifies the subscriber about the new event..                                   RFC 3265



   PUBLISH       Publishes an event to the server.                                               RFC 3903


   INFO          Send mid-session information that does not modify the session state. Can be     RFC 6086
                 used as well when building the sessions without dialog.


   MESSAGE       Asks the recipient to issue SIP request (call transfer).                        RFC 3515

   REFER         Transports instant messages using SIP.                                          RFC 3428
2.3 Session Initiation Protocol                                                                              36

   UPDATE             Modifies the state of the session without changing the dialog.              RFC 3311




In the above table mostly the first five requests INVITE, ACK, BYE, CANCEL, OPTIONS,
REGISTER based on [3261] are used between a UAC and a UAS. The INFO message pro-
vides add on functionality for the UAC, while communicating with the AS.


SIP response:
SIP responses are the second type of SIP messages, they complement the SIP requests. The
first line in a SIP response is called “status line” or “status code”. The responses are divided
according to the type of the status code as follows:

          Informational
          Success
          Redirection
          Request failure
          Server-error
          Global failure

Table 2.3.2 Table of SIP Response
Response Type                     Functionality                                                     RFC
1xx: Provisional             request received, continuing to process the request;                 RFC 3261

2xx: Success                 action was successfully received, understood, and accepted;          RFC 3261
3xx: Redirection             further action needs to be taken in order to complete the request;   RFC 3261

4xx: Client Error            request contains bad syntax or cannot be fulfilled at this server;   RFC 3261

5xx: Server Error            server failed to fulfill an apparently valid request;                RFC 3261

6xx: Global Failure          Request cannot be fulfilled at any server.                           RFC 3261



Table 2.3.2, shows all the necessary response messages which are handled by a proxy server,
application server or a media server. The response can further be extended, depending upon
their properties. The “1xx”, only shows the series of provisional response type messages
send out. However, there is a list of messages in the same series which can be referred from
the specific RFC.
2.3 Session Initiation Protocol                                                               37




2.3.1         Network Elements of SIP
There are many network elements based on SIP but they can broadly be divided into SIP user
agent and the SIP server. The user agent can be of two types: SIP user agent client (UAC)
and the SIP user agent server (UAS).
SIP User Agent client: This element initiates request to start a session between the user
agent and the application server.
SIP User Agent server: This element generates responses to the request made by the UAC.
There are several network elements defined in the RFC 3261. Some of the important network
elements are as follows:
    1.   A proxy server, as mentioned in [3261] "is an intermediary entity that acts as both a
         server and a client for the purpose of making requests on behalf of other clients. A
         proxy server primarily plays the role of routing, which means its job is to ensure
         that a request is sent to another entity "closer" to the targeted user. Proxies are also
         useful for enforcing policy (for example, making sure a user is allowed to make a
         call). A proxy interprets, and, if necessary, rewrites specific parts of a request mes-
         sage before forwarding it." The proxy server is responsible for routing and sending
         out the request to the specific UAC.
    2.   A registrar, as mentioned in [3261], “is a server that accepts REGISTER requests
         and places the information it receives in those requests into the location service for
         the domain it handles." The UAC can register to this server which identifies the
         user’s location.
    3.   A redirect server, as mentioned in [3261] “is a user agent server that generates 3xx
         responses to re-quests it receives, directing the client to contact an alternate set of
         URIs. The redirect server allows SIP Proxy Servers to direct SIP session invitations
         to external domains.” The redirect server is responsible for redirecting any SIP re-
         quests. The redirection of the request depends upon the “to” header field.
2.3 Session Initiation Protocol                                                            38




Figure 2.3.1 A simple peer to peer SIP call between two UAC [Tsac]


There can be many scenarios to explain the concept of a SIP call, in figure 2.3.1 a simple SIP
call is shown in which there are four SIP based network elements, the caller, the callee, the
Proxy server, and the Location server. Considering that the caller and the callee are regis-
tered to a register server. The procedure of the call can be seen by the sequences of the
number indicated in the figure 2.3.1. So basically, the caller makes a call sends an INVITE to
the Proxy server, the Proxy server looks up in the Location server and checks if the called
SIP URI is located on the server meaning there by the mapping between the permanent SIP
URI and the temporary URI is created on the basis on the register server which by the way is
not mentioned in figure 2.3.1. After looking up the SIP URI, the location server sends a reply
to the proxy server. The proxy server sends an INVITE to the callee, assuming that the callee
accepts the call; an OK is send to the Proxy Server. The proxy server sends an OK to the
caller; the caller receives the OK and sends an ACK to the Proxy server. To start the session
between the caller and the callee, the proxy server sends the final ACK. In the end a peer to
peer connection is established between the caller and the callee for a SIP based call. The
server functionality can reside on a single machine which can handle all the back end service
including location, redirection, registration and also proxy server functionality.

2.3.2           Back to Back User Agent (B2BUA)

A B2BUA is a SIP logic that receives a SIP request, reformulates it, and then sends it out as
a new request. Responses to the new request are also reformulated and send back out in the
opposite direction. In the realized service example, the application server acts as a back to
2.3 Session Initiation Protocol                                                            39

back user agent which means the application sends out responses and also requests depend-
ing upon the behaviour of the service. In the scenario the application server controls the SIP
messages between the user agent and the media server, this behaviour of the application
server is like a back to back user agent. Figure 2.3.2 shows a B2BUA, which theoretically
demonstrates the logic.




Figure 2.3.2 Example of a Back to Back User Agent [Sipc]


In this example service for both the user agents 1 and 2, the SIP server operates as a B2BUA,
which shows that it contains the functionality of UAC and the UAS. When a request is re-
ceived by the B2BUA, the B2BUA reformulates the header bodies and then forwards the
request to the other user agent. Similarly, when response is received by the B2BUA, the
server can reformulate the header fields and send it to the necessary UAC.
According to RFC-3261, a back-to-back user agent (B2BUA) is a logical entity that receives
a request and processes it as a user agent server (UAS). In order to determine how the re-
quest should be answered, it acts as a user agent client (UAC) and generates requests.
Unlike a proxy server, it maintains dialog state and must participate in all requests sent on
the dialogs it has established. Since it is a concatenation of a UAC and UAS, no explicit
definitions are needed for its behaviour.


2.3.3           SIP Dialog
The SIP dialog is an important concept while implementing the service as mentioned in
chapter 4. The dialog is basically between two user agents, or between two servers or be-
tween user agent and server.
2.4 Convedia Media Server                                                                    40

As mentioned in [3261], a “Dialog is a peer-to-peer relationship between two user agents. It
represents a context that facilitates the sequencing of messages between the user agents and
proper routing of requests between them. The dialog represents a context in which to inter-
pret SIP messages.”
In context of SIP, a dialog is created between two user agents. After establishing a session, a
dialog becomes an important concept in SIP which allows the possibility of interpreting
various SIP messages during the dialog. Each dialog is identified at each UA by three pa-
rameters: Call-ID value, a local tag and a remote tag, bringing all these tags together a dialog
ID is created which is responsible to identify a specific dialog between two user agents. Dur-
ing the realization of the service the following dialogs are created between the following
elements:
        UAC (User Agent Client) and AS (Application Server).
        AS and MS (Media Server).
        UAC and MS.




2.4 Convedia Media Server
The RadiSys Convedia CMS-3000 media server delivers carrier-class media processing
capabilities for enterprise IP telecommunication services. Increased processing power, in-
cluding I/O throughput upgrades, delivers significant performance improvement for Voice
XML (Extensible Markup Language) based on IVR and messaging applications, while deliv-
ering multi-service versatility for numerous applications including IP PBX, instant video
conferencing, IP contact centres, and unified communication solutions. [Conv]
The Convedia media server is a hardware based server which provides variety of media re-
lated services like call conferencing, announcement calls etc. It is valuable server for IP
based telecommunication infrastructure which supports in providing media based value
added services. The main functionality of the media server lies with the MSML (Media
server mark up language) [5707], more information about the MSML is mentioned in chapter
2.4.1. Basically MSML is a type of XML which supports media functionalities. The func-
tionality of the media server can be utilized by using the MSML which stores the required
data types as XML, which eventually can be accumulated for various kinds of media based
services. The media server supports many media functionalities which include DTMF( Dual
Tone Multi-Frequency), recording and playback, stream connection which provides intercep-
tion support for video and audio, video announcements, IVVR(Interactive Voice and Video
Response). In the implementation of the EnOcean service DTMF functionality is used which
actually demonstrates the behaviour in respect to the controlling of EnOcean devices.
2.4 Convedia Media Server                                                                   41


2.4.1         Media Server Mark up Language

Based on the RFC 5707, The Media Sessions Mark-up Language (MSML) is an XML (Ex-
tension 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 based on SIP [3665]. As mentioned in [5707],
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. The MSML is handled by SIP which operates as a signal-
ing protocol and creates a session between the media server and a controlling agent. The
session acts as a control channel which is described in sub-chapter 2.4.1. During this session,
the user agent can utilize the functionality of the media server which are mentioned in chap-
ter 2.4.

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 opera-
tions, 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 inde-
pendent of any media or user interaction. For example, an application may play an an-
nouncement 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
teardown sessions. Instead, MSML uses a transport protocol such as SIP for that purpose.
[5707].

The Media Objects Mark up Language based on [5707] generates a media object which is an
endpoint of one or more media streams. It may be a connection that terminates RTP sessions
from the network or a resource that transforms or manipulates media. MSML defines four
classes of media objects. Each class defines the basic properties of how object instances are
used within a media server. However, most classes require that the function of specific in-
stances be defined by the client, using MSML or other languages such as VoiceXML.
2.4 Convedia Media Server                                                                    42




Figure 2.4.1 Example of a MSML


Figure 2.4.1, shows an example of a MSML which is used to utilize the functionalities based
on the Convedia Media Server. The MSML is created on the basis of [Msml]. In this exam-
ple the dialogstart target, play id, send target, record destination, send target are the parent
elements which consists of substitute child elements to enable the service media functionali-
ty.

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.




2.4.2          Media Server Control Channel
The media server control channel creates a session between the application server and the
Convedia Media Server. To access the functionality located on the media server based on
MSML, a control channel is to be established which allows the user agent to establish a con-
2.5 JAIN Service Logic Execution Environment                                               43

nection through the application server. Figure 2.4.2, shows an example of a control channel.
The control agent can be an application server, which utilizes the functionality of the Media
Server.




2.4.2 Convedia Media Server Control Channel [Msml].


The Control channel is a SIP based three way hand shake which creates the session between
the control agent and the Media Server. When the control channel is created, SIP based IN-
FO messages can be send to the media server which provides the UA to use media functio-
nality presiding on the media server. Creating the control channel is a fundamental logic to
utilize the functionality of the Convedia Media server. This logic is used during the realiza-
tion of the EnOcean Service.




2.5             JAIN Service Logic Execution Environment
In this chapter the Java API for Integrating Networks Service Logic Execution Environment
is described. Basically, JSLEE is a fundamental architecture for a service delivery platform
which has an extremely deep conceptual model. In this chapter the important concepts and
logics with respect to JSLEE is discussed.

2.5.1           JAIN (Java API for Integrated Networks)
JAIN stands for Java API for Integrated Networks. Based on [Jain3] it is an initiative, and
represents the community extension to of SJN (Sun Java Networks). It is a JAVA API for
providing next generation telecommunication services. The Development proceeds under the
terms of Sun's Java Specification Participation Agreement (JSPA). It is endorse as Sun de-
veloper Network with an initiative to unify complex wire line, wireless and IP communica-
tions interfaces into a set of industry defined Java standards. [Jain2]
2.5 JAIN Service Logic Execution Environment                                                44

JAIN is supposed to integrate all existing types of networks, like IP networks, cellular, wire-
less and PSTN networks. This should be done by means of creating industry standards for
execution environments and interfaces for creating intelligent network services and applica-
tions. JAIN has a component-based architecture, which it has inherited from Java Beans
technology, meaning a robust and flexible environment with module architecture. [Jain2]

Java APIs for Integrated Networks (JAIN) is a collection of APIs that are based on Java
technology and provide access to telephone and data networks. The company Sun Microsys-
tems has introduced this extension of the Java platform in 1998 to develop network services
faster and easier. [Jain3]


2.5.2         Service Delivery Platform
JSLEE (Jain Service Logic Execution Environment), where Jain stands for Java API for
Integrated Network. As mentioned in [Sunj] JSLEE is a component model like EJB, Servlet
or JSP, and is most similar to EJB. The concept is J2EE technologies but is a specialized
component model for event driven applications. The SLEE can be implemented independent
of J2EE and used stand-alone without requiring a J2EE. The component model is designed
and developed to provide telecommunication service developers to develop much more ro-
bust.

It is a service delivery platform which provides telecommunication application service de-
velopers to implement the service in an event oriented way. The complete architecture de-
fines a component model for structuring the application logic of communications applica-
tions as a collection of reusable object-oriented components, and for composing these com-
ponents into more sophisticated services. Based on [Jain], the SLEE architecture also defines
the contract between these components and the container that will host these components at
runtime. The SLEE specification supports the development of highly available and scalable
distributed SLEE specification compliant application servers, but does not mandate any par-
ticular implementation strategy.

One of the most attractive features of the JSLEE architecture is that the applications may be
written once, and then deployed on any application server that complies with the SLEE
specification. In addition to the application component model, the SLEE specification also
defines the management interfaces used to administer the application server and the applica-
tion components executing within the application server. The JSLEE architecture provides a
highly adaptive and objects oriented based platform which makes it possible for developers
to implement service just like any other server based application but keeping in mind the
telecommunication requirements.
2.5 JAIN Service Logic Execution Environment                                                45




Figure 2.5.1: JSLEE Architecture [Mmjt]


SLEE is a container developed for asynchronous event driven applications. In Figure 2.5.1
the basic architecture of the JSLEE architecture can be seen which shows how exactly the
architecture is embedded. Based on [Mmjt] JSLEE can be divided into three parts which are
mentioned below:

Management: This specific component of the JSLEE architecture provides the developer to
use various management entities which includes JMX (Java Management Extension), it is a
management entity that runs in a Java Virtual Machine (JVM) and acts as the liaison between
the MBeans and the management application.

Framework: The Framework component consists of the major functionality related to event
routing, profile specification, alarming facilities and the trace. These functionalities are
JSLEE specific.

Component Model: This component consists the main building block like the SBB (Service
Building Block), the events are fired by the resource adaptor which are accumulated by the
SBB. The lifecycle of the SBB is also a part of this model. So, whenever an event based
object is generated it follows the lifecycle of the SBB. The formulation of the deployment
units are also done in this component model. The deployment is done on the bases of a spe-
cific format which the JSLEE component model can understand. The Look up for any spe-
cific facilities is also carried out in the component model. Figure 2.3.1, shows the component
model, at step 1, the RA stack consists the communicating protocol which enables the JSLE
to communicate with the external environment. At step 2, the mapping of java objects is
done on the basis of [Jain]. At step 3 the event routing is done which utilizes the developed
java objects. At step 3, the Event router routes out the required events to the tended SBB . At
2.5 JAIN Service Logic Execution Environment                                              46

step 4, more child SBBs can be integrated to the main SBB. At step 5, the SBB can commu-
nicate with RA (Resource Adaptor) Stack and at step 6, the RA Stack sends out an action to
the external environment.




Figure 2.5.1: Component model of JSLEE[Mmjt]




Resource Adaptor & Resource API: This section of the JSLEE architecture allows the
JSLEE to communicate with the external environment. The example of utilizing the resource
adaptor can be seen in figure 2.3.1, where the resource adaptor, RA stack consists of a spe-
cific protocol stack to communicate to the external environment. The resource adaptor has
the property to accumulate all the functionality related to a specific communicating protocol
which allows the JSLEE to communicate with the external environment, a detail description
about the basic conventional resource adaptor is described in chapter 2.6.1.

As mention in [Jain], JSLEE is a platform containing multiple containers developed for
building applications for centric networks. SLEE is standardized to meet the needs of devel-
opers that build real-time event processing applications.
2.5 JAIN Service Logic Execution Environment                                               47


2.5.3           Service Building Block(SBB)
An SBB is a software component that sends and receives events, and implements the execu-
tion logic of the system. Figure 2.5.2 shows the example of a SBB operation. There is a root
SBB which basically looks up for events fired by the resource adaptor, the root SBB can fire
more events to the child SBB depending upon the service logic. So, SLEE contains service
“A”, service “B”, service “C”, the handling of the events is done by specific SBB. To verify
the event and the right SBB on which the event is fired a XML format is used. This format
configures the property of the SBB and waits for certain events which are fired by the re-
source. The handling of the events can further be done depending if a child SBB is required
for the service. Events are used to represent important events that can occur at any time. The
SBB follows a specific configuration which provides the information of the vendor, name
and version. This configuration is followed through the implementation.




Figure 2.5.2 Example of SBB(Service Building Block)




This description is done in the descriptor files which generate a specific SBB id, this id is
used as service identity while implementing the service logic. So, every SBB is bounded to
an id which is depended to other child SBBs if events are to be fired to the child SBB. The
configuration property provides the binding of the events which are to be routed by the event
router, while the service is implemented. The concept of event routing is explained in the
next chapter.
2.5 JAIN Service Logic Execution Environment                                               48


2.5.4            Event, Event Routing

Events fired by the resource adaptor and the handling of the fired events are logical funda-
mental concept in the JLSEE architecture. The handling of the fired event is done by the
concept of event routing. Event can be a kind of logic behavior fired by the resource adaptor
depending upon the external resource which is based on a communication protocol. The
Event router actually routes the event to the SBB which is subscribed to the specific event.
As mention in [Uocl], an event represents an event which triggers a process, or may be part
of a process. Also includes event information describing the event, such as the source of the
event. In addition, an event can be generated from various sources, such as external resources
that are tied to the resource adapter using JSLEE, JSLEE by itself or by the application com-
ponents within the JSLEE.




Figure 2.5.3: The concept of event and event routing [Mobi3].


In figure 2.5.3, the Resource Adaptor fires an event which is handled by the event router.
The event router forwards the event to the required SBB. The Events are represented within a
JSLEE through event objects that are used to distribute information to the resource adapter or
SBBs to exchange information among root SBBs and child SBBs. The transfer of an event
takes place on an Activity Context. Each event object corresponds to a defined event type.
The event router ensures that the events of a given type are forwarded to the SBBs who are
interested in receiving events of such type.
The event routing between resources and the JSLEE components and the routing of events
between components, is one of the basic functions of JSLEE. In the JSLEE the event model
is based on publish-subscribe model. Based on [Jain] this model decouples the component
2.5 JAIN Service Logic Execution Environment                                                 49

that generated the event of the consumers of that event by the event-routing mechanism, the
distribution of events, from event to event producer-consumer, takes over. So, basically, the
resource adaptor works as a publisher which publishes out events and the event router sub-
scribes to the published event.




2.5.5            Activity and Activity Context Interface
The activity and the activity context interface is an important concept in the JSLEE architec-
ture. This makes it possible for the SBB to interact with different kinds activities which are
formulated in the JSLEE. As mentioned in [Jain], “An Activity represents a related stream of
events. These events represent occurrences of significance that have occurred on the entity
represented by the Activity. From a resource’s perspective, an Activity represents an entity
within the resource that emits events on state changes within the entity or resource.”
The activity is entitled to events which fires out events in the JSLEE and the SBB entity can
capture those events and use that event for the Service Logic. Figure 2.5.5, shows an exam-
ple of the activity which fires out events to the SBB entity which can then utilize the activity
in the service building logic. The activity is handled by a resource that can be a resource
adaptor which formulates the concept behind the activity depending upon the resource adap-
tors functionality.




Figure 2.5.4: Example for the Activity in JSLEE [Sunj]




The activity context interface is another important concept in the JSLEE architecture. It is an
interface between the SBB entity and the Activity which is handled by the resource domain.
Basically the Activity fires out events to the SLEE Domain which can be handled by the
SBB over the activity context interface.
2.5 JAIN Service Logic Execution Environment                                               50




Figure 2.5.5: Example of the Activity Context Interface and the Activity [Sunj]


The Activity Context interface can be utilized by many SBBs, various useful objects can be
stored in the Activity Context interface to maintain a persistence service. Even, the Activity
can be stored in the Activity Context Interface which allows the SBB to utilize the stored
activity in the activity context interface and then use the activity in the service logic.
The activity is a resource oriented logic which is implemented in a resource adaptor and the
resource adaptor fires outs event on an activity. On the other hand the SBB can accumulate
the event which is fired by the resource adaptor over the activity context interface. The con-
ceptual logic of the Activity and the Activity Context interface allows binding the SBB to a
resource adaptor.
2.6 Resource Adaptor                                                                          51


2.6             Resource Adaptor
The Resource Adaptor is basically an element presented in the JSLEE architecture, which
provides the functionality to the JSLEE architecture to communicate with the external envi-
ronment. The resource adaptor is general a communication protocol driven logic which pro-
vides the functionality to the SBB (Service Building Block) to communicate on a specific
protocol. So, for example if a Service is based on the SIP protocol, a SIP resource adaptor is
used which provides the SBB to communicate to the external environment utilizing the SIP
protocol which is embedded in the resource adaptor.
In the implementation the EnOcean Resource Adaptor which is explained in chapter no. 4.3
is basically based on the TCP which allows the JSLEE based application server to communi-
cate with the EnOcean gateway. As described in [Jain], a Resource Adaptor is an implemen-
tation of one or more resource adaptor types. There may be multiple Resource Adaptors
available for a particular resource adaptor type, each providing the same contract to SBB
developers.




Figure 2.6.1 An Example of a service building block where a SBB uses many resource adaptors


Typically, a Resource Adaptor is provided either by a resource vendor or a SLEE vendor to
adapt a particular resource implementation to a SLEE. So this makes it possible for many
resource adaptors to communicate on various protocols like, SIP, TCP, and HTTP etc. The
concept and logic of the communication protocol is developed in the resource adaptor which
is accessible by the SBB.
To expand the service implementation, one SBB can be bind with many resources adaptors.
So if one service i.e. a SBB would like to use many protocols to implement the service that is
possible. A simple block diagram shown in figure no. 2.6.1 represents the conceptual logic of
using one SBB with many resource adaptors. The green oval shaped body represents the
Service building block and the blue coloured box represents the resource adaptors. This func-
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush
Master Arbeit_Chand _Piyush

More Related Content

What's hot

Face detection and recognition
Face detection and recognitionFace detection and recognition
Face detection and recognition
Derek Budde
 
Aidan_O_Mahony_Project_Report
Aidan_O_Mahony_Project_ReportAidan_O_Mahony_Project_Report
Aidan_O_Mahony_Project_Report
Aidan O Mahony
 
Integrating wind and solar energy in india for a smart grid platform
Integrating wind and solar energy in india for a smart grid platformIntegrating wind and solar energy in india for a smart grid platform
Integrating wind and solar energy in india for a smart grid platform
Farhan Beg
 
iPDC User Manual
iPDC User ManualiPDC User Manual
iPDC User Manual
Nitesh Pandit
 
Distributed vs. centralized energy storage for power system applications
Distributed vs. centralized energy storage for power system applicationsDistributed vs. centralized energy storage for power system applications
Distributed vs. centralized energy storage for power system applications
Andrew Gelston
 
ENERGY EFFICIENCY OF ARM ARCHITECTURES FOR CLOUD COMPUTING APPLICATIONS
ENERGY EFFICIENCY OF ARM ARCHITECTURES FOR CLOUD COMPUTING APPLICATIONSENERGY EFFICIENCY OF ARM ARCHITECTURES FOR CLOUD COMPUTING APPLICATIONS
ENERGY EFFICIENCY OF ARM ARCHITECTURES FOR CLOUD COMPUTING APPLICATIONS
Stephan Cadene
 
Business Analysis Project 2015
Business Analysis Project 2015Business Analysis Project 2015
Business Analysis Project 2015
Sam Gritzmacher
 
Android Face Recognition App Locker
Android Face Recognition App LockerAndroid Face Recognition App Locker
Android Face Recognition App Locker
Ankur Mogra
 
My PhD Thesis
My PhD Thesis My PhD Thesis
My PhD Thesis
Suman Srinivasan
 
Wind Energy
Wind EnergyWind Energy
Wind Energy
Ademir Sousa
 
Manual of JAVA (more than Half)
Manual of JAVA (more than Half)Manual of JAVA (more than Half)
Manual of JAVA (more than Half)
Farwa Ansari
 
Rfb
RfbRfb
Scale The Realtime Web
Scale The Realtime WebScale The Realtime Web
Scale The Realtime Web
pfleidi
 
Manual cinema 4 d
Manual cinema 4 dManual cinema 4 d
Manual cinema 4 d
Venise Melo
 
Web Adoption and Implementation
Web Adoption and ImplementationWeb Adoption and Implementation
Web Adoption and Implementation
Assaf Alrousan
 
CSRIC_WG 9_Backup_Power_Reccomendations _11-24-2014
CSRIC_WG 9_Backup_Power_Reccomendations _11-24-2014CSRIC_WG 9_Backup_Power_Reccomendations _11-24-2014
CSRIC_WG 9_Backup_Power_Reccomendations _11-24-2014
Richard Zinno, CBCP
 
CSRIC WG9 Backup Power Recommendations 2014
CSRIC WG9 Backup Power Recommendations 2014CSRIC WG9 Backup Power Recommendations 2014
CSRIC WG9 Backup Power Recommendations 2014
Cindy Perez
 
JAVA Manual remaining
JAVA Manual remainingJAVA Manual remaining
JAVA Manual remaining
Farwa Ansari
 
iPDC Report Nitesh
iPDC Report NiteshiPDC Report Nitesh
iPDC Report Nitesh
Nitesh Pandit
 
B28654oas10g best pracitice
B28654oas10g best praciticeB28654oas10g best pracitice
B28654oas10g best pracitice
Caipei Chen
 

What's hot (20)

Face detection and recognition
Face detection and recognitionFace detection and recognition
Face detection and recognition
 
Aidan_O_Mahony_Project_Report
Aidan_O_Mahony_Project_ReportAidan_O_Mahony_Project_Report
Aidan_O_Mahony_Project_Report
 
Integrating wind and solar energy in india for a smart grid platform
Integrating wind and solar energy in india for a smart grid platformIntegrating wind and solar energy in india for a smart grid platform
Integrating wind and solar energy in india for a smart grid platform
 
iPDC User Manual
iPDC User ManualiPDC User Manual
iPDC User Manual
 
Distributed vs. centralized energy storage for power system applications
Distributed vs. centralized energy storage for power system applicationsDistributed vs. centralized energy storage for power system applications
Distributed vs. centralized energy storage for power system applications
 
ENERGY EFFICIENCY OF ARM ARCHITECTURES FOR CLOUD COMPUTING APPLICATIONS
ENERGY EFFICIENCY OF ARM ARCHITECTURES FOR CLOUD COMPUTING APPLICATIONSENERGY EFFICIENCY OF ARM ARCHITECTURES FOR CLOUD COMPUTING APPLICATIONS
ENERGY EFFICIENCY OF ARM ARCHITECTURES FOR CLOUD COMPUTING APPLICATIONS
 
Business Analysis Project 2015
Business Analysis Project 2015Business Analysis Project 2015
Business Analysis Project 2015
 
Android Face Recognition App Locker
Android Face Recognition App LockerAndroid Face Recognition App Locker
Android Face Recognition App Locker
 
My PhD Thesis
My PhD Thesis My PhD Thesis
My PhD Thesis
 
Wind Energy
Wind EnergyWind Energy
Wind Energy
 
Manual of JAVA (more than Half)
Manual of JAVA (more than Half)Manual of JAVA (more than Half)
Manual of JAVA (more than Half)
 
Rfb
RfbRfb
Rfb
 
Scale The Realtime Web
Scale The Realtime WebScale The Realtime Web
Scale The Realtime Web
 
Manual cinema 4 d
Manual cinema 4 dManual cinema 4 d
Manual cinema 4 d
 
Web Adoption and Implementation
Web Adoption and ImplementationWeb Adoption and Implementation
Web Adoption and Implementation
 
CSRIC_WG 9_Backup_Power_Reccomendations _11-24-2014
CSRIC_WG 9_Backup_Power_Reccomendations _11-24-2014CSRIC_WG 9_Backup_Power_Reccomendations _11-24-2014
CSRIC_WG 9_Backup_Power_Reccomendations _11-24-2014
 
CSRIC WG9 Backup Power Recommendations 2014
CSRIC WG9 Backup Power Recommendations 2014CSRIC WG9 Backup Power Recommendations 2014
CSRIC WG9 Backup Power Recommendations 2014
 
JAVA Manual remaining
JAVA Manual remainingJAVA Manual remaining
JAVA Manual remaining
 
iPDC Report Nitesh
iPDC Report NiteshiPDC Report Nitesh
iPDC Report Nitesh
 
B28654oas10g best pracitice
B28654oas10g best praciticeB28654oas10g best pracitice
B28654oas10g best pracitice
 

Similar to Master Arbeit_Chand _Piyush

etd
etdetd
Tr1546
Tr1546Tr1546
Using Open Source Tools For STR7XX Cross Development
Using Open Source Tools For STR7XX Cross DevelopmentUsing Open Source Tools For STR7XX Cross Development
Using Open Source Tools For STR7XX Cross Development
Giacomo Antonino Fazio
 
An Analysis of Component-based Software Development -Maximize the reuse of ex...
An Analysis of Component-based Software Development -Maximize the reuse of ex...An Analysis of Component-based Software Development -Maximize the reuse of ex...
An Analysis of Component-based Software Development -Maximize the reuse of ex...
Mohammad Salah uddin
 
bonino_thesis_final
bonino_thesis_finalbonino_thesis_final
bonino_thesis_final
Dario Bonino
 
Conference proceedings 2011 AEGIS International Workshop and Conference
Conference proceedings 2011 AEGIS International Workshop and ConferenceConference proceedings 2011 AEGIS International Workshop and Conference
Conference proceedings 2011 AEGIS International Workshop and Conference
AEGIS-ACCESSIBLE Projects
 
Dissertation report 2_3
Dissertation report 2_3Dissertation report 2_3
Dissertation report 2_3
Abub6666
 
12.06.2014
12.06.201412.06.2014
KHAN_FAHAD_FL14
KHAN_FAHAD_FL14KHAN_FAHAD_FL14
KHAN_FAHAD_FL14
Fahad Naeem
 
Investigation in deep web
Investigation in deep webInvestigation in deep web
Investigation in deep web
MichaelRodriguesdosS1
 
Realtimesamplingofutilization
RealtimesamplingofutilizationRealtimesamplingofutilization
Realtimesamplingofutilization
Vicente Nava
 
document
documentdocument
document
Sascha Nawrot
 
thesis-2005-029
thesis-2005-029thesis-2005-029
thesis-2005-029
Judit Novak
 
Design And Implementation Of A Phone Card Company
Design And Implementation Of A Phone Card CompanyDesign And Implementation Of A Phone Card Company
Design And Implementation Of A Phone Card Company
grysh129
 
Document Archiving & Sharing System
Document Archiving & Sharing SystemDocument Archiving & Sharing System
Document Archiving & Sharing System
Ashik Iqbal
 
The Green Evolution of EMOTIVE Cloud EMOTIVE Cloud: The BSC’s IaaS open-sourc...
The Green Evolution of EMOTIVE Cloud EMOTIVE Cloud: The BSC’s IaaS open-sourc...The Green Evolution of EMOTIVE Cloud EMOTIVE Cloud: The BSC’s IaaS open-sourc...
The Green Evolution of EMOTIVE Cloud EMOTIVE Cloud: The BSC’s IaaS open-sourc...
Alex Vaqué
 
Mixed Streaming of Video over Wireless Networks
Mixed Streaming of Video over Wireless NetworksMixed Streaming of Video over Wireless Networks
Mixed Streaming of Video over Wireless Networks
Videoguy
 
Montero Dea Camera Ready
Montero Dea Camera ReadyMontero Dea Camera Ready
Montero Dea Camera Ready
Ildefonso Montero Pérez
 
Abrek_Thesis
Abrek_ThesisAbrek_Thesis
Abrek_Thesis
Natascha Abrek
 
Design and implementation of a Virtual Reality application for Computational ...
Design and implementation of a Virtual Reality application for Computational ...Design and implementation of a Virtual Reality application for Computational ...
Design and implementation of a Virtual Reality application for Computational ...
Lorenzo D'Eri
 

Similar to Master Arbeit_Chand _Piyush (20)

etd
etdetd
etd
 
Tr1546
Tr1546Tr1546
Tr1546
 
Using Open Source Tools For STR7XX Cross Development
Using Open Source Tools For STR7XX Cross DevelopmentUsing Open Source Tools For STR7XX Cross Development
Using Open Source Tools For STR7XX Cross Development
 
An Analysis of Component-based Software Development -Maximize the reuse of ex...
An Analysis of Component-based Software Development -Maximize the reuse of ex...An Analysis of Component-based Software Development -Maximize the reuse of ex...
An Analysis of Component-based Software Development -Maximize the reuse of ex...
 
bonino_thesis_final
bonino_thesis_finalbonino_thesis_final
bonino_thesis_final
 
Conference proceedings 2011 AEGIS International Workshop and Conference
Conference proceedings 2011 AEGIS International Workshop and ConferenceConference proceedings 2011 AEGIS International Workshop and Conference
Conference proceedings 2011 AEGIS International Workshop and Conference
 
Dissertation report 2_3
Dissertation report 2_3Dissertation report 2_3
Dissertation report 2_3
 
12.06.2014
12.06.201412.06.2014
12.06.2014
 
KHAN_FAHAD_FL14
KHAN_FAHAD_FL14KHAN_FAHAD_FL14
KHAN_FAHAD_FL14
 
Investigation in deep web
Investigation in deep webInvestigation in deep web
Investigation in deep web
 
Realtimesamplingofutilization
RealtimesamplingofutilizationRealtimesamplingofutilization
Realtimesamplingofutilization
 
document
documentdocument
document
 
thesis-2005-029
thesis-2005-029thesis-2005-029
thesis-2005-029
 
Design And Implementation Of A Phone Card Company
Design And Implementation Of A Phone Card CompanyDesign And Implementation Of A Phone Card Company
Design And Implementation Of A Phone Card Company
 
Document Archiving & Sharing System
Document Archiving & Sharing SystemDocument Archiving & Sharing System
Document Archiving & Sharing System
 
The Green Evolution of EMOTIVE Cloud EMOTIVE Cloud: The BSC’s IaaS open-sourc...
The Green Evolution of EMOTIVE Cloud EMOTIVE Cloud: The BSC’s IaaS open-sourc...The Green Evolution of EMOTIVE Cloud EMOTIVE Cloud: The BSC’s IaaS open-sourc...
The Green Evolution of EMOTIVE Cloud EMOTIVE Cloud: The BSC’s IaaS open-sourc...
 
Mixed Streaming of Video over Wireless Networks
Mixed Streaming of Video over Wireless NetworksMixed Streaming of Video over Wireless Networks
Mixed Streaming of Video over Wireless Networks
 
Montero Dea Camera Ready
Montero Dea Camera ReadyMontero Dea Camera Ready
Montero Dea Camera Ready
 
Abrek_Thesis
Abrek_ThesisAbrek_Thesis
Abrek_Thesis
 
Design and implementation of a Virtual Reality application for Computational ...
Design and implementation of a Virtual Reality application for Computational ...Design and implementation of a Virtual Reality application for Computational ...
Design and implementation of a Virtual Reality application for Computational ...
 

More from Piyush Chand

Ruby onrails overview
Ruby onrails overviewRuby onrails overview
Ruby onrails overview
Piyush Chand
 
Management & control of home automation devices
Management & control of home automation devicesManagement & control of home automation devices
Management & control of home automation devices
Piyush Chand
 
Robot Operating Systems (Ros) Overview &amp; (1)
Robot Operating Systems (Ros) Overview &amp; (1)Robot Operating Systems (Ros) Overview &amp; (1)
Robot Operating Systems (Ros) Overview &amp; (1)
Piyush Chand
 
Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)
Piyush Chand
 
Robot operating systems (ros) overview &
Robot operating systems (ros) overview &Robot operating systems (ros) overview &
Robot operating systems (ros) overview &
Piyush Chand
 
En Ocean Java Api Istochnikov Chand 1
En Ocean Java Api Istochnikov Chand 1En Ocean Java Api Istochnikov Chand 1
En Ocean Java Api Istochnikov Chand 1
Piyush Chand
 
En O Cean Java Api
En O Cean Java ApiEn O Cean Java Api
En O Cean Java Api
Piyush Chand
 
Major Project Chand Piyush 2011
Major Project Chand Piyush 2011Major Project Chand Piyush 2011
Major Project Chand Piyush 2011
Piyush Chand
 
Energy Harvesting devices Network Interface
Energy Harvesting devices Network InterfaceEnergy Harvesting devices Network Interface
Energy Harvesting devices Network Interface
Piyush Chand
 
International Project Management
International Project ManagementInternational Project Management
International Project Management
Piyush Chand
 
Power Line Communication
Power Line CommunicationPower Line Communication
Power Line Communication
Piyush Chand
 

More from Piyush Chand (11)

Ruby onrails overview
Ruby onrails overviewRuby onrails overview
Ruby onrails overview
 
Management & control of home automation devices
Management & control of home automation devicesManagement & control of home automation devices
Management & control of home automation devices
 
Robot Operating Systems (Ros) Overview &amp; (1)
Robot Operating Systems (Ros) Overview &amp; (1)Robot Operating Systems (Ros) Overview &amp; (1)
Robot Operating Systems (Ros) Overview &amp; (1)
 
Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)
 
Robot operating systems (ros) overview &
Robot operating systems (ros) overview &Robot operating systems (ros) overview &
Robot operating systems (ros) overview &
 
En Ocean Java Api Istochnikov Chand 1
En Ocean Java Api Istochnikov Chand 1En Ocean Java Api Istochnikov Chand 1
En Ocean Java Api Istochnikov Chand 1
 
En O Cean Java Api
En O Cean Java ApiEn O Cean Java Api
En O Cean Java Api
 
Major Project Chand Piyush 2011
Major Project Chand Piyush 2011Major Project Chand Piyush 2011
Major Project Chand Piyush 2011
 
Energy Harvesting devices Network Interface
Energy Harvesting devices Network InterfaceEnergy Harvesting devices Network Interface
Energy Harvesting devices Network Interface
 
International Project Management
International Project ManagementInternational Project Management
International Project Management
 
Power Line Communication
Power Line CommunicationPower Line Communication
Power Line Communication
 

Recently uploaded

20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 

Recently uploaded (20)

20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 

Master Arbeit_Chand _Piyush

  • 1. Master Thesis Management & Control of Home Automation Devices based on EnOcean Technology with JSLEE Submitted by: Piyush Chand Submitted to: Prof. Dr. Ulrich Trick & Dr. Andreas Pech Date of Submission: 14th October 2011
  • 2. Statement I confirm that the master thesis is written by me without any assistant. No other sources were used except those referenced. Frankfurt, 14.10.2011 _____________________ Piyush Chand
  • 3. Acknowledgement It gives me immense pleasure to thank all, who made this thesis to be accomplished. Firstly, I would like to acknowledge Professor Dr.-Ing.Ulrich Trick for giving me an oppor- tunity to work and write my thesis at the Research Group of Telecommunications, Frankfurt am Main. The experience has been highly acknowledging and pleasuring. I would also like to express my gratitude towards my supervisors, especially to Tho- mas Eichelmann for his skilful guidance, motivation and support during the progress of the thesis work. I am also thankful to Armin Lehmann, Patrick Wacht and Patrick Ruhrig for their skilful guidance, in depth discussions, moral support and maintaining a pleasant environment during the progress of the thesis work, On a personal note, I would like to thank my parents and my uncle for their moral support and encouragement. In the end, I would like to offer my regards to everyone who supported me during the completion of the thesis work.
  • 4. Content 1 Scope of Work 6 2 Theoretical Foundation 7 2.1 EnOcean Technology ............................................................................................. 7 2.1.1 Brief History of EnOcean Technology .................................................................... 7 2.1.2 An Overview of EnOcean Technology .................................................................... 8 2.1.3 EnOcean Communication Architecture ................................................................. 14 2.1.4 EnOcean Technology based Gateway ................................................................... 17 2.1.5 BSC-BAP-TX Access Point.................................................................................. 19 2.1.6 Wireless Actuator ................................................................................................. 22 2.1.7 Wireless single-phase energy meter ...................................................................... 24 2.1.8 Wireless Switch/Push-button ................................................................................ 25 2.1.9 Wireless Motion/brightness sensor ........................................................................ 25 2.1.10 EnOcean Equipment Profiles ................................................................................ 26 2.1.11 Standardization of EnOcean Radio Protocol .......................................................... 29 2.1.12 EnOcean Technology Summary............................................................................ 31 2.2 Transmission Control Protocol (TCP) ................................................................... 31 2.2.1 TCP Flow Control ................................................................................................ 32 2.2.2 TCP State ............................................................................................................. 33 2.3 Session Initiation Protocol .................................................................................... 34 2.3.1 Network Elements of SIP ..................................................................................... 37 2.3.2 Back to Back User Agent (B2BUA) ...................................................................... 38 2.3.3 SIP Dialog............................................................................................................ 39 2.4 Convedia Media Server ........................................................................................ 40 2.4.1 Media Server Mark up Language .......................................................................... 41 2.4.2 Media Server Control Channel.............................................................................. 42 2.5 JAIN Service Logic Execution Environment ......................................................... 43 2.5.1 JAIN (Java API for Integrated Networks) ............................................................. 43 2.5.2 Service Delivery Platform..................................................................................... 44 2.5.3 Service Building Block(SBB) ............................................................................... 47 2.5.4 Event, Event Routing............................................................................................ 48 2.5.5 Activity and Activity Context Interface ................................................................. 49 2.6 Resource Adaptor ................................................................................................. 51 2.6.1 Resource Adaptor Type ........................................................................................ 53 2.6.2 Resource Adaptor Entity....................................................................................... 54 2.6.3 Resource Adaptor Entity Life Cycle...................................................................... 54 2.6.4 Resource Adaptor Object Life Cycle ..................................................................... 56
  • 5. 3 Requirement Analysis 58 3.1 General Objective ................................................................................................. 58 3.2 Objective of the Implementation ........................................................................... 58 3.3 Required Technologies ......................................................................................... 60 3.3.1 Hardware based Requirements: ............................................................................. 60 3.3.2 Software based Requirements: .............................................................................. 61 4 Realization 62 4.1 Installing Mobicents Application server ................................................................ 63 4.2 Installing Wireshark ............................................................................................. 64 4.3 EnOcean Resource Adaptor .................................................................................. 64 4.4 EnOcean Event Module ........................................................................................ 68 4.5 EnOcean Resource Adaptor Module ..................................................................... 69 4.6 EnOcean Activity & SIP Activity ......................................................................... 72 4.7 Activity Handler Module ...................................................................................... 73 4.8 EnOcean Service Building Block(SBB) ................................................................ 84 4.9 EnOcean Service Example.................................................................................... 91 4.9.1 DTMF functionality with EnOcean Service........................................................... 93 4.9.2 EnOcean ServiceAnnouncement Call .................................................................... 93 4.9.3 Announcement Call to turn Light On .................................................................... 94 4.9.4 Announcement Call to turn Light Off.................................................................... 95 5 Project Summary & Future Perspectives 97 5.1 Project Summary .................................................................................................. 97 5.2 Future Perspectives............................................................................................... 98 6 Abbreviations 103 7 References 106
  • 6. 1 Scope of Work The scope of the Master Thesis research work is to integrate the home automation communi- cating architecture to the telecommunication architecture. The research provides the founda- tion of developing value added services for controlling and monitoring home automation devices by a SIP (Session Initiation Protocol) [3261] UA (User Agent). The work demon- strates a service by which a user can control and manage the home automation devices based on EnOcean Technology by a SIP UA. The home automation devices are based on actuators and sensors. The initial part of the thesis work is to develop an EnOcean Resource Adaptor on the bases of JAIN SLEE (Java API for Integrated Networks Service Logic Execution Environment) [Jain], this allows the Application Server to communicate with the EnOcean Gateway. To evaluate the integration, a service based on the specification of [Jain] is devel- oped. The service is developed to control the home devices like lamp, motion sensor and energy meter with add on media functionality like an IVR (Interactive Voice Response) system to control the house hold devices. This scenario of implementation provides a possi- bility of integrating the smart home devices to the telecommunication architecture. A further extension of this research work can be to set up a completely new set of value added services through which a user can demonstrate services like controlling their house hold devices which include light, motion sensors, energy meter by mobile devices. The control of these devices is introduced as a service for the SIP UA. The research work provides the possibility of more services for the user like IVR system for controlling house hold devices, announcement calls for motion detection, announcement calls for various sen- sors in the home etc. The complete functionality of integrating the home automation devices to the telecommunication architecture depends upon the EnOcean Gateway which is an Ac- cess point and industrial name is BSC-BAP-TX (Wireless Bolt Access Point) [Bscb]. The gateway provision provides a possibility of an application server to be integrated to the EnO- cean gateway on the bases of TCP/IP [1180], the handling of the TCP/IP is done by the EnOcean Resource Adaptor. The gateway can communicate with home automation devices over RF (Radio Frequency). As, the communication is established between the application server, services can be developed by which management, monitoring, controlling can be done by SIP UA or a Web user based on HTTP (Hyper Text Transfer Protocol) [2616].
  • 7. 2 Theoretical Foundation 2.1 EnOcean Technology In this section of the thesis, a detailed description of the EnOcean[Enoc1] Technology is provided. This section gives all the important and necessary information which includes technical behaviour, working principle, EnOcean Technology supporting devices, advan- tages, special features of EnOcean Technology. To provide home automation environment to the user various technologies are in use one of the popular technology is the EnOcean Tech- nology, this technology allows user to completely automate their home devices based on sensors and actuators. The main innovation behind this technology is to harvest the energy from the environment and then utilize that energy to create some activity like controlling devices in the home that are controlled by actuators and sensors. 2.1.1 Brief History of EnOcean Technology EnOcean is gradually becoming popular in developing automation devices for homes and official buildings. As mentioned in [Enoc1] the EnOcean Alliance Group was founded by Management & Siemens Technology Acceorometer. The EnOcean GmbH is a venture- funded spin-off company of Siemens AG founded in 2001. It is a technology supplier of self- powered modules like transmitters, receivers, transceivers, energy converter to companies like Siemens, Distech Controls, Seamless Sensing which develop and manufacture products used in building home automation devices for example light, shading, HVAC(Heat Ventila- tion and Air Conditioner) and also industrial based automation like replacement of the con- ventional battery in tyre pressure sensors. As mentioned in [Enoc1] the company has won awards for its performance and technology including the Bavarian Innovation Prize 2002 for its globally unique technology.
  • 8. 2.1 EnOcean Technology 8 2.1.2 An Overview of EnOcean Technology The EnOcean Technology is based on providing Energy Harvesting wireless technology. As mentioned in [Enoc2] the EnOcean Technology can broadly be divided to three major advan- tageous divisions:  Interoperable wireless standard: Monitoring and lighting control systems are readily available and wide-ranging product portfolio exists, based on an interoperable stan- dard technology together with interfaces to established automation solutions such as EIB (European Instalation Bus) that is a standard for home automation devices in europe and TCP /IP (Transmission Control Protocol /Internet protocol) [1180].  Self-powered: The EnOcean devices are based on Energy Harvesting which makes the use of energy created from slight changes in motion, pressure, light, temperature or vibration. The self-powered wireless sensors help make buildings smarter, safer, more comfortable and more energy-efficient.  Technology for sustainable buildings: EnOcean enabled wireless networks making it the most pervasive and field-tested wireless building automation standard. As described in [Enoc1], EnOcean Technology is based on the energetically efficient exploi- tation of applied slight mechanical excitation and other potentials from the environment using the principles of energy harvesting. In order to transform such energy fluctuations into usable electrical energy based on some electrical principles like Electromagnetic which is a physical field produced by electrically charged objects. Piezogenerator: It is the charge which accumulates in certain solid materials like notably crystals, certain ceramics. Solar cell also known as photovoltaic cell or photoelectric cell is a solid state electrical device that converts the energy of light directly into electricity by the photovoltaic effect Thermocouple, It is a device consisting of two different conductors (usually metal alloys) that produce a voltage proportional to a temperature difference between either ends of the pair of conduc- tors. The EnOcean products are engineered to operate maintenance-free. The transmission frequency used for the devices is 868.3 MHz which is a standard for home automation devices. The EnOcean RF modules based on energy harvesting modules are fundamentally based on consuming very low power electronics and reliable wireless trans- mission. A small example scenario demonstrating the EnOcean Technology is shown in figure 2.1.1.
  • 9. 2.1 EnOcean Technology 9 2.1.1 Figure showing a complete optimizing heating and cooling solution based on EnOcean Technology [Enoc3] Figure 2.1.1, shows a complete EnOcean based heating and cooling solution. The figure consists of a Energy control which communicates with all the devices like Room temperature sensor, humidity sensor, CO2 sensor, Contact temperature sensor for both air conditioner and the heater, Window contact and Window handle sensor for ventilation. This is consider as an example home automation scenario for heating, ventilation, air-conditioning. The Concept of EnOcean Technology is mentioned in [ENOC3] states that Energy harvest- ing wireless switches and sensors for Green-Smart-Wireless. The idea that led to this innova- tive technology is based on a very simple observation: where sensors capture measured val- ues, the energy state constantly changes. When a switch is pressed, the temperature alters or the luminance level varies. All these operations generate enough energy to transmit wireless signals. [Enoc3]
  • 10. 2.1 EnOcean Technology 10 Figure 2.1.2: Energy Harvesting Wireless Sensor Solution from EnOcean Technology. [Enoc3] The basic principle of working of a sensor wireless module is shown in figure 2.1.2. This framework is divided into two specific modules, the Wireless Sensor Module and the Wire- less System Module which together combine to build up the Energy harvesting Wireless Sensor Solution defined by EnOcean Technology.  Wireless Sensor Module : This module consists of five basic technical building blocks which are described as follows: 1) Energy Convertor /Energy Harvesting Devices: This is the process by which energy is derived from external sources (e.g., solar power, thermal energy, wind energy, salinity gradients, and kinetic energy), captured, and stored for small, wireless autonomous devices. 2) Microcontroller: This is used to utilize the embedded functionality behaviour of the wireless sensor module. This includes the processing and controlling of the devices depending upon the information received and also transmitted from the module. 3) Energy Management: This sub-module adds up to the functionality of the wire- less sensor module, it can be used to manage other sensor based devices and Energy Converter/ Energy Harvesting Devices. 4) Sensor: This sensor is a device that will measure a physical quantity and con- vert it into a signal which can be read by the microcontroller for processing and controlling. 5) RF Transceiver: This sub module provides the functionality to send and receive RF (Radio Frequency) Signals.
  • 11. 2.1 EnOcean Technology 11 Figure 2.1.3: Wireless Sensor Module (Block Diagram) The Energy Converter works as a component to convert energy from the nature based on principles like piezogenerator, thermocouples, solar cells etc. as mentioned in chapter 2.1.2. These devices acquire the energy from the environment which can be utilized based on the EnOcean Technology e.g. wireless switches working on the principle of piezogenerator. Now, to give an overview of the working is that the wireless switch consists of piezoelectric crystals or fibers which generate a small voltage whenever they are mechanically deformed. It changes the surface temperature of the piezoelectric crystals and excites the electrons of the piezoelectric crystals which eventually generate energy. This Energy can be consumed to send signals to the microcontroller which processes and controls the signals. The sensor acquires the information from the environment and then sends this information as signals to the microcontroller which eventually processes and controls the information. For example, a motion sensor will sense some motion on the base of sound (acoustic sensors), opacity (optical and infrared sensors and video image processors), geomagnetism (magnetic sensors, magnetometers), reflection of transmitted energy (infrared laser radar, ultrasonic sensors, and microwave radar sensors), electromagnetic induction (inductive-loop detectors), and vibration (tribo-electric, seismic, and inertia-switch sensors). All these are principles that detect motion and then the sensor will send a signal to the microcontroller. After receiving all the signals based on sensors or Energy Converters the microcontroller can transmit these signals over a transceiver as a RF (Radio Frequency) signal.  Wireless system module: This module actually concludes to the module wireless sensor module, so as mentioned ear- lier when the transceiver sends a RF(Radio Frequency) signal the transceiver at the wireless
  • 12. 2.1 EnOcean Technology 12 system end receives this signal and then operates the actuators depending upon the type of message received. Figure 2.1.4: Wireless System Module As, concluding from figure 2.1.3 the wireless system module receives the RF signal as shown in figure 2.1.4 and then after processing, the microcontroller sends the signal to the actuator This module consists of three sub modules which are as follows: 1. Transceiver: The transceiver receives the signal from the sensor module which is processed by the microcontroller. 2. Microcontroller: The microcontroller processes the signals and transmits it to the actuator depending on the type of message (this message is the Telegram Message which will be mentioned in detail later on). The type of message consists of a status field, measured field and also a controlling field which eventually controls the ac- tuator depending upon the message received. 3. Actuator: An actuator is a mechanical device for moving or controlling a mecha- nism or system. It is operated by a source of energy, usually in the form of an elec- tric current. So this actuator can be used to do various kinds of operations. For ex- ample turning light on, controlling heating system, controlling air conditioner.
  • 13. 2.1 EnOcean Technology 13 Figure 2.1.4: The complete abstract-level overview of the wireless Energy Harvesting EnOcean Technology. The complete abstract view after combining the wireless sensor module and the wireless system module can be seen in figure 2.1.4 which shows how Energy converters and Sensors can be utilized to create an action on the actuator. So concluding with the same idealistic approach some examples can be viewed. For example any motion sensor can produce an action on the actuator to make some event like controlling the heating system. Some of the important features of the EnOcean Technology as mentioned in [Enoc3] are as follows:  A highly optimized automation and controlling solution.  Easy to integrate components, for example Energy converters, energy management & radio modules, system & communication software.  Radio modules without batteries: The required operating energy is typ. 50 μWs per radio telegram only.  Operating energy is generated by pressure, movements, light, temperature, vibration, rotation, etc.  High transmission range: Up to 300 m outdoor up to 30 m indoor.  Minimal emission energy: Less than the spark radiation of a conventional light switch, one million times less a mobile phone.  Reliable signal transmission, suited for systems with hundreds of sensors (since signal transmission time is a thousand of a second only)  Reliable against external disturbances: Repeated radio signal transmission delayed at random, using of regulated frequency ranges approved for pulsed signals only  Prearranged transmitter to receiver assignment: Four billion code numbers are fixed, easy learning procedure (push receiver learn button and activate transmitters) Considering all the aspects of the EnOcean Technology, the most specific feature is the En- ergy Harvesting Concept to control home automation devices.
  • 14. 2.1 EnOcean Technology 14 EnOcean Technology Technical Characteristics as mentioned in [Enoc3] are shown in figure 2.1.1, which is as follows: Table 2.1.1: Characteristics of the EnOcean Technology modules. Frequency 868.3 MHz or 315 MHz (depending upon on the location) Transmission power: 6 dBm (antenna input) Receiver sensitivity: -97 dB Modulation type: ASK Data rate 125 kHz Channel bandwidth 280 kHz Radio telegram 1 ms, variable telegram length (e.g. 53-130 bit incl. 32 Bit sensor ID, 1-4 byte sensor data, checksum) Transmission time 40 ms for three identical radio telegrams, delayed at random 2.1.3 EnOcean Communication Architecture The EnOcean Technology builds up its own communication architecture based upon actua- tors. Based on [Enoc4] EnOcean is a patented energy harvesting wireless sensor solution which enables to generate a signal of range from an extremely small amount of energy. From just 50 μWs a standard EnOcean energy harvesting wireless module can easily transmit a signal 300 meters. The secret lies in the signal duration which means that the entire process is started, executed and completed in no more than a thousandth of a second. Figure 2.1.5, shows the network architecture of EnOcean Technology, the bidirectional com- ponents are gateways which communicate over TCP/IP, EIB, KNX, Modbus, these are the standards for communication in home automation devices. The receivers are actuators which basically communicate over RF. The battery less switches are transmitters which also com- municate over RF. A common message protocol is followed which is known as telegram message which allows to create any kind of activity on the actuators and sensors.
  • 15. 2.1 EnOcean Technology 15 Figure 2.1.5: EnOcean Wireless Networking System with battery-less nodes. [ENOC4] The EnOcean Technology based network communication architecture is basically divided into two areas which are as follows:  Radio Frequency (Access Network)  TCP/IP (Transmission Control Protocol/Internet Protocol), EIB(European Installa- tion Bus), KNX, Modbus(Wired Backbone). The communication architecture of EnOcean Technology can be divided into two areas which are as follows: 1) Radio Frequency based wireless communication which can be correlated to the ac- cess network in regard to the conventional network architecture. 2) TCP/IP or any other specific backbone related protocol (e.g. LON, EIB/KNX, Mobus) can be used to build the backbone architecture for the communication.
  • 16. 2.1 EnOcean Technology 16 Figure 2.1.6 EnOcean Technology based Network architecture In figure 2.1.6, the EnOcean Technolgy communication architecture can be seen. The archi- tecture consists of the following network elements:  Access network: The access network is a RF signal based wireless network which allows sensors and energy harvesting devices to communicate with the Gateway.  Backbone network: The backbone network is based on TCP/IP. The gateway can send information received from the access network to the backbone network. The sending information and receiving information is based over TCP/IP  Sensor: The sensor is network element in the access network and communicates over RF signals.  Gateway: The gateway will operate like a transceiver within the access network based on RF signals.  Energy Harvesting Devices: The transmission of information by these devices is based on RF signals. The Energy harvesting devices and the Sensors transmit information based on RF signals. The backbone architecture is TCP/IP based which is connected to the gateway. This gateway can send and receive signals from the access network. However, in the backbone architecture the gateway can send the information over TCP/IP. Keeping in mind, the transmission at access network is based on RF signals. It becomes very important to analyse the transmission rate of the telegram messages, which is an EnOcean Technology specified protocol. Figure 2.1.7 shows a graph which measures the transmission reliability.
  • 17. 2.1 EnOcean Technology 17 Figure 2.1.7: Transmission reliability Graph [Enoc4]. In this graph, a comparison of typical radio sensor transmission and the EnOcean technology based transmission is compared. The number of sender transmitting data increases gradually making. Closely analysing the graph, it can be depicted that as the number of senders in- creases, the transmission of typical radio sensor decreases. In the same graph scale, the transmission of EnOcean technology based sensors is much higher; this makes the possibility of telegram collision rate to decrease. As mentioned in [Enoc4] transmission reliability is still better than 99.99% for 100 wireless sensors each transmitting their data once a minute. Considering this information to be accurate, it gives a possibility that a large number EnO- cean wireless sensors and modules can be used in the same building which will transmit reliable telegram messages. 2.1.4 EnOcean Technology based Gateway The EnOcean Technolgy based gateway is one of the important elements in the communica- tion architecture of EnOcean Technology. This allows to interact with the access based net- work devices and to send the information over TCP/IP. In simple words it is a gateway which has the capability to send and receive information over TCP/IP and also operates as a transceiver for the energy harvesting devices and sensors, as mentioned in chapter 2.1.3. Figure 2.1.8 shows the picture of the used BSC-BAP-TX wireless access gateway. This gateway consists of a TCM (Transceivers Module) 120 modules, this module consists of the functionality of a wireless sensor module and a wireless system module as mentioned in chapter 2.1.2. The TCM-120[Tcmu] module serves the 868 MHz air interface protocol of
  • 18. 2.1 EnOcean Technology 18 EnOcean. It receives all signals of the EnOcean radio transmitters e.g. modules PTM (Push- button Transceiver Module)-100 and makes them available at the serial port. The PTM is a wireless push button controller which is a wireless switch and is mentioned in detail in chap- ter 2.1.8. Figure 2.1.8: A picture of the BSC-BAP-TX Gateway.[Bscb] The gateway operates on an embedded module TCM-120. The transceiver module TCM 120 of EnOcean enables the implementation of bi-directional RF applications based on the inno- vative EnOcean radio technology. Typical applications are bi-directional EnOcean compati- ble radio interfaces, e.g. to existing system solutions or bus systems. The TCM 120 trans- ceiver module serves the 868 MHz air interface protocol of EnOcean radio technology. [Tcm1] Important features of the BSC-BAP Access Point based on TCM 120 transceiver which are mention in [Bscb] are as follows:  128 actuators and an optional number of transmitters that is compatible with EnO- cean wireless technology per BAP.  It can be integrated in an existing network infrastructure.  PoE(Power over Ethernet) can be used for connection  BSC - BAP uses up to 0.5 Watts of power which makes it a very low power con- sumption device.  EnOcean technology based devices can be integrated to the BSC-BAP. For exam- ple, PTM-200 or PTM-100, Wireless Actuators, Wireless sensors based on EnO- cean Technology. There are some limitations of the gateway which are mentioned in [Bscb] and are ellabo- rateed as follows: 1) The electrical field strength and the magnetic field strength are inversely propor- tional to the square of the distance between the sender and the receiver. This has an affect while transmitting RF signals. 2) Interfaces by materials like metallized foils of thermal insulator, metallized heat- absorbing glass. These materials can reflect electromagnetic waves. A so-called ra-
  • 19. 2.1 EnOcean Technology 19 dio shadow is built up behind these parts. Some figures related to the amount of penetration of radio signals which can be created are as follows: Table 2.1.3 EnCana RF penetration level in percentage.[Bscb] Material Percentage of Penetration Wood, gypsum, glass uncoated 90 to100% Brick, pressboard 65 to 95% Reinforced concrete 10 to 90% Metal, aluminium pasting 0 to10% Figure 2.1.10, shows a picture of range and penetration being decremented when an iron acts as an obstacle between the transmissions. 2.1.9 Radio path range/-penetration, Reference: As, it is shown on the left side of the figure 2.1.9, that the iron casts a radio shadow between the receiver and the sensor. This is a drawback while implementing the sensor and actuator based home automation environment. On the right side of the figure 2.1.9, the effective range of radio frequency between two receivers. As one is receiving a very good range of radio frequency and the other one is receiving it at a slightly lower level. 2.1.5 BSC-BAP-TX Access Point The industrial name provided to the EnOcean Gateway is BSC-BAP-TX Access Point [Bscb].This gateway operates on 5 ports; all these 5 ports define a specific functionality depending upon the different types of functions which can be used. In this section, a detail overview about the EnOcean Gateway Ports is described. The 5 ports can be utilized on the bases of network programming, specifically client server programming. To mention in detail among the 5 ports, 2 ports work as a client socket where the remaining 3 work as a server socket. Following is a list of Ports which is utilized to use the functionality of the EnOcean Gateway: 1) 2010: This port is used to configure the IP address of the EnOcean Gateway
  • 20. 2.1 EnOcean Technology 20 2) 2001: This port is utilized to establish a connection between the Gateway and the Server. 3) 2100: This port is utilized to handle the connection between the gateway and the Server. However, this port can be changed which allows more gateways to connect to the server. 4) 2003: This port is utilized to make sure that the Gateway is ready. 5) 2005: This port is utilized to send a specific message to the gateway. 6) 2002: This port is utilized to close the connection between the gateway and the server. The different types of ports and their functionality are described as follows:  Port 2010 : Setting Server and Gateway IP-addresses This port is used for initial configuration of the gateway IP-address and the server IP-address. This port is used to establish a connection and configure the BSC-BAP Gateway and Server. SETIP#<IP-ADRESS>#<Sub network>#<Server-IP> This command can be used anytime to change the IP-addresses of the gateway and the server.  Port 2001: open connection for the Gateway This port is used to establish the connection between the gateway and the server. It means gateway is trying to connect to the port 2001 of the server in a cyclic way, each 10 seconds.  Ports from 2100: the transfer ports on the Server for receiving the telegrams from the Gateway These ports are to be chosen by user. It can be any port from 2100. The data ex- change between gateway and server. This provides the functionality to receive the telegrams sent from the gateway.  Port 2002: Send control commands to the Gateway This port provides the functionality for server to send controlling commands for disconnecting from gateway and to reset the gateway. >>>>byebye<<<< (String) This string is used to close the connection between the gateway and the Server >>>>>reset<<<<<< (String) This string is used to reset or restart the gateway. This functionality is similar to the hardware reset button on the upper side of the gateway  Port 2003: check the readiness of the Gateway. To ensure that there is no failure in the operation of the gateway, the server should verify the readiness of the gateway in a cyclic way. The user can define the period of cyclic checks. If the gateway is ready, the server receives the message “ready” on port 2003. Normally gateway send “>>>>ready>>>>(String)” message every 10 seconds.
  • 21. 2.1 EnOcean Technology 21 Considering the functionalities of the port, the complete procedure of utilizing the ports is explained as follows: Initially, port 2001 is opened as a server socket. This allows the gateway to establish a con- nection to the server. The next step is that the server acts as a client and sends a message. This message includes three important parameters: accepting the connection, system Nano- time and a specific port number which is 2100 i.e. the port can be equal to 2100 or more than 2100, this allows the gateway to send telegram messages specifically on this port which is send to the gateway by the server. After following this process a TCP connection is estab- lished between the gateway and the server. EnOcean EnOcean Resource Gateway Adaptor EnOcean Gateway Establishing a connection Accepts Connection & sends message containing Port ServerSocket(Port 2001) 2100 and System Nano Time Receive Telegram Messages ServerSocket(Port 2100) Receive READY Status Message ClientSocket(Port 2003) Sends Telegram Messages ClientSocket(Port 2005) Sends RESET Status or BYE Status Message ClientSocket(Port 2002) Figure 2.1.10 shows the MSC between the gateway and the EnOcean Resource Adaptor Now, the gateway is ready to send out telegram messages as string. To make sure that the gateway is ready to send telegram messages another port 2003 is utilized which is opened as a client socket. As this port is initiated a specific ready string is sent to the server, this string verifies that the gateway is ready to send and receive telegram messages. Figure 2.1.10, shows a MSC between the EnOcean gateway and the EnOcean Resource Adaptor. The EnO- cean Resource Adaptor is based on the JSLEE model which is explained later in the thesis.
  • 22. 2.1 EnOcean Technology 22 After, completing the connection and the ready state, the gateway is ready to receive tele- gram messages from the server. To send a telegram message to the gateway a specific port 2005 is used, which is opened as a client. On this port telegram messages are sent which allow any kind of activity on the EnOcean device depending upon type of telegram message. For closing the connection between the gateway and the server, another port 2002 is used. On this port a specific string >>>>byebye<<<< is sent which closes the connection between the gateway and the server. Table 2.1.2 List of the EnOcean gateway ports and their functionality Port Functionality Type of Socket 2001 Establish Connection, gateway Server Socket can receive a special message. 2100 Special port to receive messages Server Socket from the gateway. 2003 To make sure gateway is ready Client Socket 2005 To send telegram messages Client Socket 2002 To send message for closing Client Socket connection or resetting connec- tion. 2.1.6 Wireless Actuator The wireless actuator [Elta1] is an impulse switch with integrated functionality to the EnO- cean communication architecture. Some of the important features as mentioned in related to the devices are mentioned below:  The universal impulse switching relay can be controlled by a conventional 230 V AC control switch.  35 wireless pushbuttons can be assigned to the wireless actuator. The wireless pushbuttons are configured by using the learning functionality of the wireless actua- tor.  Wireless window/door contacts can also be configured to the wireless actuator. In this scenario there can be two possibilities: firstly the window/door is opened this can be facilitated to the wireless actuator by using the normally open (N/O) contact functionality; secondly window/door is closed by using normally closed (N/C) con- tact while the window is closed.  The wireless actuator consists of functionalities which can be configured depending upon the requirements. Following is a table which shows some configuring features of the wireless actuator:
  • 23. 2.1 EnOcean Technology 23 Table 2.1.3 Configuration mode of the wireless actuator Configuring modes Configuring functionality ER Switching relay ESV Impulse switch. Possibly with off delay + = ESV with push-button permanent light + = ESV with switch-off early warning + = ESV with push-button permanent light and switch-off early warning. LRN Using this configuration field a push button can be made to learn with the wireless actuator. CLR This configuration filed is used to clear old set configuration mode. The following figure 2.1.11 shows the place on the wireless actuator where the configuration related to the above mentioned functionalities can be done. Figure 2.1.11: Wireless Actuator[Elta1] The wireless actuator consists of two configuration section: One is to configure the functionality of the wireless actuator depending upon the require- ments as mentioned in table 2.1.3; this section can be seen as the configuring mode place on the wireless actuator. The other section is the time relay configuration section which allows the wireless actuator to modify the time relay of the receiving signals, this makes it possible to expand the communication architecture if many actuators are located in a home or build- ing.
  • 24. 2.1 EnOcean Technology 24 2.1.7 Wireless single-phase energy meter The wireless single-phase [Elta2] energy meter measures active energy by means of the cur- rent between input and output and transmits the consumption and meter reading over the RF signal. Figure 2.1.12: Wireless Single Phase Energy Meter [Elta2] Some of the important features of the Wireless Single phase Energy Meter [Elta2] are as follows:  The wireless energy meter gives a reading only when the power consumption is more than 0.3 watt active power.  Only a one phase conductor with a maximum current up to 16A (Amperes) can be connected.  The rush in current is 20mA.  The reading of the energy consumed is saved to a non-volatile memory and is im- mediately available again after a power failure.  The change in power status by 10 % enables the wireless energy meter to send a telegram message within 20 seconds.  A full telegram comprising meter reading and power status is transmitted after every 10 minutes.  When the power supply is switched on, a teach-in telegram is sent to teach in the as- sociated energy consumption indicator.
  • 25. 2.1 EnOcean Technology 25 2.1.8 Wireless Switch/Push-button The wireless switch/push-button as mentioned in [Elta3], operates with in the access net- work. RF signals are used for the transmission of telegram messages. Figure 2.1.13 shows an example of a single rocker switch which can be used to send telegram messages within the RF signal. The wireless switch is based on the PTM -100. As, mentioned in [Ptms], this module is based on the principle of electro-dynamic energy transducer, which sends out RF signals when the button is pressed and released. Figure 2.1.13: Wireless Switch/Push Button [Elta1] Important features of the wireless push button [Elta3] are as follows:  The Wireless push-buttons with one rocker, one rocker push button means that only one button can be used to evaluate the functionality of transmitting telegram mes- sages over RF signals. It transmits two evaluable signals: press rocker up and press rocker down.  Wireless push-buttons with double rocker can transmit four evaluable signals: press two rockers up or down. 2.1.9 Wireless Motion/brightness sensor The wireless motion sensor [Elta4] operates within the access network of the EnOcean com- munication architecture, this enables the device to send telegram messages over RF signals to the EnOcean gateway. Figure 2.1.14 shows a figure of the wireless motion sensor.
  • 26. 2.1 EnOcean Technology 26 Figure 2.1.14: Wireless Brightness/ Motion Sensor Important features of the wireless motion sensor [Elta4] are as follows:  The wireless motion sensor transmits telegram messages to the EnOcean wireless access network after every 100 seconds.  The wireless motion sensor transmits two signals instantaneously after detecting motion.  The switch-off signal is sent after the off delay which has a fixed setting of 1 min- ute.  The motion sensor transmits signals with the information of the status every 20 minutes. 2.1.10 EnOcean Equipment Profiles In this chapter, information with respect the EnOcean Equipments Profiles and the telegram messages will be provided. The EnOcean Equipment profile is a specification on which tele- gram messages can be created. The telegram message is message stack which is transmitted on RF signals. The EnOcean Equipment Profile provides the information of the telegram stack which is described in this chapter. Based on [Eepv1], the telegram message stack can be created which can provide functionalities like turning light ON and turning light OFF. Definition: The EnOcean Equipment Profile (EEP) is a unique identifier that describes the functionality of an EnOcean device irrespective of its vendor. [Eepv1] During the time of development a new EnOcean Equipment Profile is being released, this profile introduces some more functionality like Smart Ack, Remote management (RPC), MSC telegram, Bi-directional profiles (4 BS). New Definition: The ERP specification defines the structure of the entire radio telegram. The user data embedded in this structure is defined by the EEP. [Eepv2]
  • 27. 2.1 EnOcean Technology 27 However, in this chapter the old specification [Eepv1] is being explained as during the reali- zation phase, the old specification [Eepv1] is being used. In chapter 2.1.11, a small descrip- tion about the new functionality and a new radio protocol stack is mentioned. The EEP (EnOcean Equipment Profile) is defined on the bases of EnOcean technology de- fined fields:  ORG: Identifies the EnOcean Messages which allows the communication of the EnOcean devices.  FUNC: This field represents the basic functionality of the data content in the tele- gram message.  TYPE: This field represents type of device in its individual characteristics. In figure 2.1.15, the telegram stack is presented, in this figure it can be seen how the tele- gram stack is organized and which fields are useful for developing an EnOcean message. Figure 2.1.15: Telegram Stack [Tcmu] The Data_Byte field represents the FUNC field of the telegram message that provides the functionality of the telegram message. The FUNC field describes the type of activity to be created. So the functionality to make a light to turn on or off is handled by this field. The ID_BYTE field represents the TYPE field of the telegram message. Figure 2.1.15 elaborates the functionality of the telegram stack in detail. The main functionality of the telegram mes- sage stack can be understood by the figure 2.1.16. In this figure basically the complete stack is explained.
  • 28. 2.1 EnOcean Technology 28 Figure 2.1.16: Detail Description of the EnOcean Telegram [Tcmu] Following a detailed description of the Telegram message is provided: 1. SYNC_BYTE: This field of the stack is used for synchronization of received bytes and sent bytes. It consists of two sync bytes which are 8 bits each. [Tcmu] 2. H_SEQ: This field of the stack is the Header Sequence; this field identifies which type of function the telegram message will implement. The length of this field is of 3 bits. [Tcmu] Types of telegram functions: 3. RRT (Received Radio telegram): the function to receive radio data telegram on the BSC-BAP-TX [Bscb] gateway. 4. TRT (Transmit Radio Telegram): This function of the telegram message provides the function to transmit radio data telegram to the BSC-BAP-TX [Bscb] gateway. 5. RMT (Receive Message telegram): This function of the telegram message provides the function to receive telegram messages from the energy harvesting devices. 6. TCT (Transmit Command Telegram): This function of the telegram message pro- vides the function to send command telegram messages which means, the energy devices can be controlled by using this telegram message. 7. LENGTH: This field of the stack provides the information about the number octets following the header octet. This field length is of 5 bits and combines with H_SEQ field to complete 1 Byte of the telegram stack. 8. ORG: This field defines which type of telegram is used within the telegram stack. For TCM-120 module there are 6 types of telegram messages, which are shown in
  • 29. 2.1 EnOcean Technology 29 figure 2.1.16, in this figure the ORG can be distinguished on the bases of the type of functionality. [Tcmu] Figure 2.1.17: Detail Description of the ORG Field[Tcmu] A new version of the EnOcean Equipement profile is also available, in this specification new functionalities have been added to make it KNX association standard. The new specification mentioned on [eepv2] has the following changes which are as follows:  New 4 BS telegrams  Smart Ack [Enoc6 ]  Remote management (RPC) [Enoc7]  MSC telegram [Eppv2]  Bi-directional profiles (4 BS) [Eppv2]  Introduction of Encryption in the presentation layer[ Enoc8] 2.1.11 Standardization of EnOcean Radio Protocol In this sub chapter a detail description about the standardization of the EnOcean Radio Pro- tocal is provided. In this chapter the new standard as mentioned in [Enoc8] is explained. As mentioned in chapter 2.1.10, a new specification is released. The new specification follows this standard. A standardized set of radio protocol is utilized by the EnOcean technology based devices. This determines the transmission layer of the EnOcean technology based devices. Figure
  • 30. 2.1 EnOcean Technology 30 2.1.18, shows a table of the standardized EnOcean Radio Protocol. The transmission layer is divided into 7 layers which are as follows: 1) Application Layer: At this layer of the EnOcean Standard the Data interpretation with respect to the EnOcean Equipment Profile is utilized. 2) Presentation Layer: This layer of the EnOcean Standard, introduces to some basic functionalities like data encryption, data decryption, encapsulating and decapsulat- ing the retrieve and transmitted data. 3) Session Layer: No functionality of creating a session is utilized in the EnOcean Ra- dio Protocol till yet maybe it can be enhanced for future. Figure 2.1.18 Standardization of EnOcean Radio Protocol [Enoc8] 4) Physical Layer: the Physical layer operates at the RF Signal level which considers functionalities related to bit sampling, carrier frequency, modulation, data rate, Tx power, Rx sensitivity 5) Transport Layer: This layer provides the functionality of remote management, Smart Ack. Smart Ack enables bidirectional communication. The communication is managed by a Controller that responds to the devices telegrams with acknowl- edges, for more information please refer to document. [Enoc8], [Enoc6]
  • 31. 2.2 Transmission Control Protocol (TCP) 31 6) Network Layer: This layer provides functionality of addressing, networking, rout- ing, switching, and repeating. The routing and repeating of the telegram messages is operated on the bases of the decoded telegram messages. Important decoded tele- gram message fields at the bytes level are utilized. 7) Data Link Layer: This layer provides functionality of decoding and encoding the telegram messages like synchronization of bits, checksum of bits, CRC (cyclic re- dundancy check) for error detection and LBT (Listen Before Back). LBT is a tech- nique used in wireless communications whereby a wireless transmitter or repeater first senses its wireless environment before starting a transmission. The aim is to avoid collisions with other senders. It is an optional feature of the transmitting de- vice. [Enoc8] 2.1.12 EnOcean Technology Summary The EnOcean Technology is known as a standard for home automation devices which makes it possible for various kinds of actuators and sensors located in the home to communicate with each other. The main advantage is that the transmitting devices which are based on energy harvesting technique that means these devices acquire the energy from the environ- ment based on simple concepts of electrical and mechanical engineering. The provision of the gateway makes it possible to extend the EnOcean Technology based communication architecture. The above mentioned devices are the important elements of EnOcean Teach- nology. There are many other kinds of home devices performing heating and cooling tech- niques based on sensors and actuators on the same principle. 2.2 Transmission Control Protocol (TCP) The TCP [793] is one of the core protocols of the Internet Protocol Suite. This protocol is specified in RFC -793, which provides all the information about TCP. The concept was first mentioned by Cerf and Kahn. This protocol came to existence from September 1981 and was developed by IETF (Internet Engineering Task Force).As, mentioned in [793] TCP is a connection-oriented, end-to-end reliable protocol designed to fit into a layered hierarchy of protocols which support multi-network applications. The TCP provides reliable inter-process communication between pairs of processes in host computers attached to distinct but inter- connected computer communication networks. It is intended to provide a reliable process- to-process communication service in a multi network environment. The main functionality is connection establishment based on three way handshake concept, sequencing number, flow control, after timeouts repetition of a TCP message by transmitter, multiplexing of TCP connection by ports and sockets, checksum with header and data.
  • 32. 2.2 Transmission Control Protocol (TCP) 32 2.2.1 TCP Flow Control TCP is based on the logical concept of flow control; the flow control is basically based on the different types of control flags which provide the information of the three way hand shake between a server and a client. As, mentioned in [793], TCP provides a means for the receiver to govern the amount of data sent by the sender. This is achieved by returning a "window" with every ACK indicating a range of acceptable sequence numbers beyond the last segment successfully received. The window indicates an allowed number of octets that the sender may transmit before receiving further permission. The connection is initiated by a client and then the server sends back an acknowledgement to the user to establish a connection. After the connection that client sends the datagram packets to the server. This operation is flowed back and forth between the client user and the server, until the required data is transmitted. In the end to release the TCP connection another pa- rameter is set. There is defined TCP terminology based on the functionality of TCP which is known as control flags. The communication in TCP is based on control flags which are as follows: 1. SYN = 1: This value provides the information that the TCP-connection establish- ment is initiated. 2. ACK = 1: This value provides the information of the Acknowledgement of a re- ceived TCP-packet. 3. FIN = 1: This value provides the information that a TCP-connection is release. The above mentioned control flags are the basic principle of communication in TCP, Figure 2.2.1 shows an example of the control flags between a client and a server.
  • 33. 2.2 Transmission Control Protocol (TCP) 33 1. The client sends a SYN packet to establish a connection. 2. The server sends an ACK packet to acknowledge the SYN packet. 3. The client completes the three- way handshake. 4. The client sends the actual re- quest. 5. The client sends a FIN packet to indicate that it is done send- ing. 6. The server acknowledges the request and the FIN. 7. The server sends the reply back to the client. 8. The server sends a FIN packet to indicate that it is also done. 9. The client acknowledges the server's FIN. Figure 2.2.1 Example of TCP Control Flow[Tsac ] 2.2.2 TCP State Based on the logic of the flow control in the TCP, complete state can be seen in table 2.2.1. The handling of the gateway and the application server is based on TCP. The connection is established on a specific port and other functionalities are handled on various other ports which are described in chapter 2.2.1, while developing the network interface between the application server and the EnOcean gateway based on [Jain], it becomes essential to analyse the TCP connection between the EnOcean gateway and the Application Server. Based on [793] Following is a list of state: Table 2.2.1 TCP state table State Functionality LISTEN Represents waiting for a connection request from any remote TCP and port. Represents waiting for a matching connection request after having sent a connection SYN-SENT request. Represents waiting for a matching connection request SYN-RECEIVED Represents an open connection, data received can be delivered to the user. The normal ESTABLISHED state for the data transfer phase of the connection.
  • 34. 2.3 Session Initiation Protocol 34 Represents waiting for a connection termination request from the remote TCP, or an acknowledgment of the connection termination request previously sent. FIN-WAIT-1 Represents waiting for a connection termination request from the remote TCP. FIN-WAIT-2 Represents waiting for a connection termination request from the local user. CLOSE-WAIT Represents waiting for a connection termination request acknowledgment from the CLOSING remote TCP. Represents waiting for an acknowledgment of the connection termination request previ- ously sent to the remote TCP (which includes an acknowledgment of its connection LAST-ACK termination request). The above table gives the information of all the possible states, while the TCP communica- tion is established between a client and a server. During the implementation the TCP com- munication is one of the important protocols to analyse as the EnOcean gateway communica- tion with the Application Server is based on TCP/IP. 2.3 Session Initiation Protocol The Session Initiation Protocol (SIP) is a signalling protocol used for establishing sessions in an IP network. The first RFC of SIP was 2543 which was published in 1992. After that many RFC have been created. The most recent RFC is 3261. To design a simpler and more modu- lar way to do voice over IP, SIP was standardized in 1999 by the Internet Engineering Task Force (IETF). SIP makes it possible to use it for signalling between two user agents. Based on SIP, two-party sessions that are ordinary telephone calls, multiparty sessions that allow everyone to hear and speak, and multicast sessions which means one sender, many receivers can be realized. The session may contain audio, video, or data, the latter being useful for multiplayer real-time games. SIP just handles setup, management, and termination of ses- sions. Other protocols, such as RTP (Real Time Protocol) and RTCP (Real Time Communi- cation Protocol), are used for data transport. SIP is an application-layer protocol and can run over UDP [768] or TCP. SIP is a request-response protocol that closely resembles two other Internet protocols, Hyper Text Transfer Protocol (HTTP) and Simple Mail Transfer Protocol (SMTP). SIP is compatible with Internet applications. According to RFC 3261, SIP is an application-layer control protocol that can establish, mod- ify, and terminate multimedia sessions (conferences) such as Internet telephony calls. SIP can also invite participants to already existing sessions, such as multicast conferences. Me- dia can be added to (and removed from) an existing session. SIP transparently supports name mapping and redirection services, which supports personal mobility.
  • 35. 2.3 Session Initiation Protocol 35 The logic of SIP resides upon the SIP messages which are based on request and response which is basically like HTTP. In the following description of SIP, the types of messages and there operation are described. SIP Request: SIP requests represent one type of SIP messages. There are many types of SIP messages depending upon the type of service or methods required while developing a SIP based logical service. The following Table 2.3.1represents all types of SIP requests, short description and the corresponding RFC, further detailed information on each type of request is mentioned in RFC 3261. Table 2.3.1 Table of SIP request Request Description RFC INVITE When received indicates that client is invited to take part in communication; RFC 3261 when sent – inviting other client to take part in a call session ACK Confirms the receipt of INVTE request. RFC 3261 BYE Terminates the call session, can be sent by both called and calling part. RFC 3261 CANCEL Used for cancelling any pending request. RFC 3261 OPTIOINS Retrieval of server capabilities RFC 3261 REGISTER Send user’s address to the server to register. RFC 3261 PRACK Provisional Acknowledgement. RFC 3262 SUBSCRIBE Subscribes for an event notification from the Notifier. RFC 3265 NOTIFY Notifies the subscriber about the new event.. RFC 3265 PUBLISH Publishes an event to the server. RFC 3903 INFO Send mid-session information that does not modify the session state. Can be RFC 6086 used as well when building the sessions without dialog. MESSAGE Asks the recipient to issue SIP request (call transfer). RFC 3515 REFER Transports instant messages using SIP. RFC 3428
  • 36. 2.3 Session Initiation Protocol 36 UPDATE Modifies the state of the session without changing the dialog. RFC 3311 In the above table mostly the first five requests INVITE, ACK, BYE, CANCEL, OPTIONS, REGISTER based on [3261] are used between a UAC and a UAS. The INFO message pro- vides add on functionality for the UAC, while communicating with the AS. SIP response: SIP responses are the second type of SIP messages, they complement the SIP requests. The first line in a SIP response is called “status line” or “status code”. The responses are divided according to the type of the status code as follows:  Informational  Success  Redirection  Request failure  Server-error  Global failure Table 2.3.2 Table of SIP Response Response Type Functionality RFC 1xx: Provisional request received, continuing to process the request; RFC 3261 2xx: Success action was successfully received, understood, and accepted; RFC 3261 3xx: Redirection further action needs to be taken in order to complete the request; RFC 3261 4xx: Client Error request contains bad syntax or cannot be fulfilled at this server; RFC 3261 5xx: Server Error server failed to fulfill an apparently valid request; RFC 3261 6xx: Global Failure Request cannot be fulfilled at any server. RFC 3261 Table 2.3.2, shows all the necessary response messages which are handled by a proxy server, application server or a media server. The response can further be extended, depending upon their properties. The “1xx”, only shows the series of provisional response type messages send out. However, there is a list of messages in the same series which can be referred from the specific RFC.
  • 37. 2.3 Session Initiation Protocol 37 2.3.1 Network Elements of SIP There are many network elements based on SIP but they can broadly be divided into SIP user agent and the SIP server. The user agent can be of two types: SIP user agent client (UAC) and the SIP user agent server (UAS). SIP User Agent client: This element initiates request to start a session between the user agent and the application server. SIP User Agent server: This element generates responses to the request made by the UAC. There are several network elements defined in the RFC 3261. Some of the important network elements are as follows: 1. A proxy server, as mentioned in [3261] "is an intermediary entity that acts as both a server and a client for the purpose of making requests on behalf of other clients. A proxy server primarily plays the role of routing, which means its job is to ensure that a request is sent to another entity "closer" to the targeted user. Proxies are also useful for enforcing policy (for example, making sure a user is allowed to make a call). A proxy interprets, and, if necessary, rewrites specific parts of a request mes- sage before forwarding it." The proxy server is responsible for routing and sending out the request to the specific UAC. 2. A registrar, as mentioned in [3261], “is a server that accepts REGISTER requests and places the information it receives in those requests into the location service for the domain it handles." The UAC can register to this server which identifies the user’s location. 3. A redirect server, as mentioned in [3261] “is a user agent server that generates 3xx responses to re-quests it receives, directing the client to contact an alternate set of URIs. The redirect server allows SIP Proxy Servers to direct SIP session invitations to external domains.” The redirect server is responsible for redirecting any SIP re- quests. The redirection of the request depends upon the “to” header field.
  • 38. 2.3 Session Initiation Protocol 38 Figure 2.3.1 A simple peer to peer SIP call between two UAC [Tsac] There can be many scenarios to explain the concept of a SIP call, in figure 2.3.1 a simple SIP call is shown in which there are four SIP based network elements, the caller, the callee, the Proxy server, and the Location server. Considering that the caller and the callee are regis- tered to a register server. The procedure of the call can be seen by the sequences of the number indicated in the figure 2.3.1. So basically, the caller makes a call sends an INVITE to the Proxy server, the Proxy server looks up in the Location server and checks if the called SIP URI is located on the server meaning there by the mapping between the permanent SIP URI and the temporary URI is created on the basis on the register server which by the way is not mentioned in figure 2.3.1. After looking up the SIP URI, the location server sends a reply to the proxy server. The proxy server sends an INVITE to the callee, assuming that the callee accepts the call; an OK is send to the Proxy Server. The proxy server sends an OK to the caller; the caller receives the OK and sends an ACK to the Proxy server. To start the session between the caller and the callee, the proxy server sends the final ACK. In the end a peer to peer connection is established between the caller and the callee for a SIP based call. The server functionality can reside on a single machine which can handle all the back end service including location, redirection, registration and also proxy server functionality. 2.3.2 Back to Back User Agent (B2BUA) A B2BUA is a SIP logic that receives a SIP request, reformulates it, and then sends it out as a new request. Responses to the new request are also reformulated and send back out in the opposite direction. In the realized service example, the application server acts as a back to
  • 39. 2.3 Session Initiation Protocol 39 back user agent which means the application sends out responses and also requests depend- ing upon the behaviour of the service. In the scenario the application server controls the SIP messages between the user agent and the media server, this behaviour of the application server is like a back to back user agent. Figure 2.3.2 shows a B2BUA, which theoretically demonstrates the logic. Figure 2.3.2 Example of a Back to Back User Agent [Sipc] In this example service for both the user agents 1 and 2, the SIP server operates as a B2BUA, which shows that it contains the functionality of UAC and the UAS. When a request is re- ceived by the B2BUA, the B2BUA reformulates the header bodies and then forwards the request to the other user agent. Similarly, when response is received by the B2BUA, the server can reformulate the header fields and send it to the necessary UAC. According to RFC-3261, a back-to-back user agent (B2BUA) is a logical entity that receives a request and processes it as a user agent server (UAS). In order to determine how the re- quest should be answered, it acts as a user agent client (UAC) and generates requests. Unlike a proxy server, it maintains dialog state and must participate in all requests sent on the dialogs it has established. Since it is a concatenation of a UAC and UAS, no explicit definitions are needed for its behaviour. 2.3.3 SIP Dialog The SIP dialog is an important concept while implementing the service as mentioned in chapter 4. The dialog is basically between two user agents, or between two servers or be- tween user agent and server.
  • 40. 2.4 Convedia Media Server 40 As mentioned in [3261], a “Dialog is a peer-to-peer relationship between two user agents. It represents a context that facilitates the sequencing of messages between the user agents and proper routing of requests between them. The dialog represents a context in which to inter- pret SIP messages.” In context of SIP, a dialog is created between two user agents. After establishing a session, a dialog becomes an important concept in SIP which allows the possibility of interpreting various SIP messages during the dialog. Each dialog is identified at each UA by three pa- rameters: Call-ID value, a local tag and a remote tag, bringing all these tags together a dialog ID is created which is responsible to identify a specific dialog between two user agents. Dur- ing the realization of the service the following dialogs are created between the following elements:  UAC (User Agent Client) and AS (Application Server).  AS and MS (Media Server).  UAC and MS. 2.4 Convedia Media Server The RadiSys Convedia CMS-3000 media server delivers carrier-class media processing capabilities for enterprise IP telecommunication services. Increased processing power, in- cluding I/O throughput upgrades, delivers significant performance improvement for Voice XML (Extensible Markup Language) based on IVR and messaging applications, while deliv- ering multi-service versatility for numerous applications including IP PBX, instant video conferencing, IP contact centres, and unified communication solutions. [Conv] The Convedia media server is a hardware based server which provides variety of media re- lated services like call conferencing, announcement calls etc. It is valuable server for IP based telecommunication infrastructure which supports in providing media based value added services. The main functionality of the media server lies with the MSML (Media server mark up language) [5707], more information about the MSML is mentioned in chapter 2.4.1. Basically MSML is a type of XML which supports media functionalities. The func- tionality of the media server can be utilized by using the MSML which stores the required data types as XML, which eventually can be accumulated for various kinds of media based services. The media server supports many media functionalities which include DTMF( Dual Tone Multi-Frequency), recording and playback, stream connection which provides intercep- tion support for video and audio, video announcements, IVVR(Interactive Voice and Video Response). In the implementation of the EnOcean service DTMF functionality is used which actually demonstrates the behaviour in respect to the controlling of EnOcean devices.
  • 41. 2.4 Convedia Media Server 41 2.4.1 Media Server Mark up Language Based on the RFC 5707, The Media Sessions Mark-up Language (MSML) is an XML (Ex- tension 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 based on SIP [3665]. As mentioned in [5707], 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. The MSML is handled by SIP which operates as a signal- ing protocol and creates a session between the media server and a controlling agent. The session acts as a control channel which is described in sub-chapter 2.4.1. During this session, the user agent can utilize the functionality of the media server which are mentioned in chap- ter 2.4. 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 opera- tions, 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 inde- pendent of any media or user interaction. For example, an application may play an an- nouncement 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 teardown sessions. Instead, MSML uses a transport protocol such as SIP for that purpose. [5707]. The Media Objects Mark up Language based on [5707] generates a media object which is an endpoint of one or more media streams. It may be a connection that terminates RTP sessions from the network or a resource that transforms or manipulates media. MSML defines four classes of media objects. Each class defines the basic properties of how object instances are used within a media server. However, most classes require that the function of specific in- stances be defined by the client, using MSML or other languages such as VoiceXML.
  • 42. 2.4 Convedia Media Server 42 Figure 2.4.1 Example of a MSML Figure 2.4.1, shows an example of a MSML which is used to utilize the functionalities based on the Convedia Media Server. The MSML is created on the basis of [Msml]. In this exam- ple the dialogstart target, play id, send target, record destination, send target are the parent elements which consists of substitute child elements to enable the service media functionali- ty. 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. 2.4.2 Media Server Control Channel The media server control channel creates a session between the application server and the Convedia Media Server. To access the functionality located on the media server based on MSML, a control channel is to be established which allows the user agent to establish a con-
  • 43. 2.5 JAIN Service Logic Execution Environment 43 nection through the application server. Figure 2.4.2, shows an example of a control channel. The control agent can be an application server, which utilizes the functionality of the Media Server. 2.4.2 Convedia Media Server Control Channel [Msml]. The Control channel is a SIP based three way hand shake which creates the session between the control agent and the Media Server. When the control channel is created, SIP based IN- FO messages can be send to the media server which provides the UA to use media functio- nality presiding on the media server. Creating the control channel is a fundamental logic to utilize the functionality of the Convedia Media server. This logic is used during the realiza- tion of the EnOcean Service. 2.5 JAIN Service Logic Execution Environment In this chapter the Java API for Integrating Networks Service Logic Execution Environment is described. Basically, JSLEE is a fundamental architecture for a service delivery platform which has an extremely deep conceptual model. In this chapter the important concepts and logics with respect to JSLEE is discussed. 2.5.1 JAIN (Java API for Integrated Networks) JAIN stands for Java API for Integrated Networks. Based on [Jain3] it is an initiative, and represents the community extension to of SJN (Sun Java Networks). It is a JAVA API for providing next generation telecommunication services. The Development proceeds under the terms of Sun's Java Specification Participation Agreement (JSPA). It is endorse as Sun de- veloper Network with an initiative to unify complex wire line, wireless and IP communica- tions interfaces into a set of industry defined Java standards. [Jain2]
  • 44. 2.5 JAIN Service Logic Execution Environment 44 JAIN is supposed to integrate all existing types of networks, like IP networks, cellular, wire- less and PSTN networks. This should be done by means of creating industry standards for execution environments and interfaces for creating intelligent network services and applica- tions. JAIN has a component-based architecture, which it has inherited from Java Beans technology, meaning a robust and flexible environment with module architecture. [Jain2] Java APIs for Integrated Networks (JAIN) is a collection of APIs that are based on Java technology and provide access to telephone and data networks. The company Sun Microsys- tems has introduced this extension of the Java platform in 1998 to develop network services faster and easier. [Jain3] 2.5.2 Service Delivery Platform JSLEE (Jain Service Logic Execution Environment), where Jain stands for Java API for Integrated Network. As mentioned in [Sunj] JSLEE is a component model like EJB, Servlet or JSP, and is most similar to EJB. The concept is J2EE technologies but is a specialized component model for event driven applications. The SLEE can be implemented independent of J2EE and used stand-alone without requiring a J2EE. The component model is designed and developed to provide telecommunication service developers to develop much more ro- bust. It is a service delivery platform which provides telecommunication application service de- velopers to implement the service in an event oriented way. The complete architecture de- fines a component model for structuring the application logic of communications applica- tions as a collection of reusable object-oriented components, and for composing these com- ponents into more sophisticated services. Based on [Jain], the SLEE architecture also defines the contract between these components and the container that will host these components at runtime. The SLEE specification supports the development of highly available and scalable distributed SLEE specification compliant application servers, but does not mandate any par- ticular implementation strategy. One of the most attractive features of the JSLEE architecture is that the applications may be written once, and then deployed on any application server that complies with the SLEE specification. In addition to the application component model, the SLEE specification also defines the management interfaces used to administer the application server and the applica- tion components executing within the application server. The JSLEE architecture provides a highly adaptive and objects oriented based platform which makes it possible for developers to implement service just like any other server based application but keeping in mind the telecommunication requirements.
  • 45. 2.5 JAIN Service Logic Execution Environment 45 Figure 2.5.1: JSLEE Architecture [Mmjt] SLEE is a container developed for asynchronous event driven applications. In Figure 2.5.1 the basic architecture of the JSLEE architecture can be seen which shows how exactly the architecture is embedded. Based on [Mmjt] JSLEE can be divided into three parts which are mentioned below: Management: This specific component of the JSLEE architecture provides the developer to use various management entities which includes JMX (Java Management Extension), it is a management entity that runs in a Java Virtual Machine (JVM) and acts as the liaison between the MBeans and the management application. Framework: The Framework component consists of the major functionality related to event routing, profile specification, alarming facilities and the trace. These functionalities are JSLEE specific. Component Model: This component consists the main building block like the SBB (Service Building Block), the events are fired by the resource adaptor which are accumulated by the SBB. The lifecycle of the SBB is also a part of this model. So, whenever an event based object is generated it follows the lifecycle of the SBB. The formulation of the deployment units are also done in this component model. The deployment is done on the bases of a spe- cific format which the JSLEE component model can understand. The Look up for any spe- cific facilities is also carried out in the component model. Figure 2.3.1, shows the component model, at step 1, the RA stack consists the communicating protocol which enables the JSLE to communicate with the external environment. At step 2, the mapping of java objects is done on the basis of [Jain]. At step 3 the event routing is done which utilizes the developed java objects. At step 3, the Event router routes out the required events to the tended SBB . At
  • 46. 2.5 JAIN Service Logic Execution Environment 46 step 4, more child SBBs can be integrated to the main SBB. At step 5, the SBB can commu- nicate with RA (Resource Adaptor) Stack and at step 6, the RA Stack sends out an action to the external environment. Figure 2.5.1: Component model of JSLEE[Mmjt] Resource Adaptor & Resource API: This section of the JSLEE architecture allows the JSLEE to communicate with the external environment. The example of utilizing the resource adaptor can be seen in figure 2.3.1, where the resource adaptor, RA stack consists of a spe- cific protocol stack to communicate to the external environment. The resource adaptor has the property to accumulate all the functionality related to a specific communicating protocol which allows the JSLEE to communicate with the external environment, a detail description about the basic conventional resource adaptor is described in chapter 2.6.1. As mention in [Jain], JSLEE is a platform containing multiple containers developed for building applications for centric networks. SLEE is standardized to meet the needs of devel- opers that build real-time event processing applications.
  • 47. 2.5 JAIN Service Logic Execution Environment 47 2.5.3 Service Building Block(SBB) An SBB is a software component that sends and receives events, and implements the execu- tion logic of the system. Figure 2.5.2 shows the example of a SBB operation. There is a root SBB which basically looks up for events fired by the resource adaptor, the root SBB can fire more events to the child SBB depending upon the service logic. So, SLEE contains service “A”, service “B”, service “C”, the handling of the events is done by specific SBB. To verify the event and the right SBB on which the event is fired a XML format is used. This format configures the property of the SBB and waits for certain events which are fired by the re- source. The handling of the events can further be done depending if a child SBB is required for the service. Events are used to represent important events that can occur at any time. The SBB follows a specific configuration which provides the information of the vendor, name and version. This configuration is followed through the implementation. Figure 2.5.2 Example of SBB(Service Building Block) This description is done in the descriptor files which generate a specific SBB id, this id is used as service identity while implementing the service logic. So, every SBB is bounded to an id which is depended to other child SBBs if events are to be fired to the child SBB. The configuration property provides the binding of the events which are to be routed by the event router, while the service is implemented. The concept of event routing is explained in the next chapter.
  • 48. 2.5 JAIN Service Logic Execution Environment 48 2.5.4 Event, Event Routing Events fired by the resource adaptor and the handling of the fired events are logical funda- mental concept in the JLSEE architecture. The handling of the fired event is done by the concept of event routing. Event can be a kind of logic behavior fired by the resource adaptor depending upon the external resource which is based on a communication protocol. The Event router actually routes the event to the SBB which is subscribed to the specific event. As mention in [Uocl], an event represents an event which triggers a process, or may be part of a process. Also includes event information describing the event, such as the source of the event. In addition, an event can be generated from various sources, such as external resources that are tied to the resource adapter using JSLEE, JSLEE by itself or by the application com- ponents within the JSLEE. Figure 2.5.3: The concept of event and event routing [Mobi3]. In figure 2.5.3, the Resource Adaptor fires an event which is handled by the event router. The event router forwards the event to the required SBB. The Events are represented within a JSLEE through event objects that are used to distribute information to the resource adapter or SBBs to exchange information among root SBBs and child SBBs. The transfer of an event takes place on an Activity Context. Each event object corresponds to a defined event type. The event router ensures that the events of a given type are forwarded to the SBBs who are interested in receiving events of such type. The event routing between resources and the JSLEE components and the routing of events between components, is one of the basic functions of JSLEE. In the JSLEE the event model is based on publish-subscribe model. Based on [Jain] this model decouples the component
  • 49. 2.5 JAIN Service Logic Execution Environment 49 that generated the event of the consumers of that event by the event-routing mechanism, the distribution of events, from event to event producer-consumer, takes over. So, basically, the resource adaptor works as a publisher which publishes out events and the event router sub- scribes to the published event. 2.5.5 Activity and Activity Context Interface The activity and the activity context interface is an important concept in the JSLEE architec- ture. This makes it possible for the SBB to interact with different kinds activities which are formulated in the JSLEE. As mentioned in [Jain], “An Activity represents a related stream of events. These events represent occurrences of significance that have occurred on the entity represented by the Activity. From a resource’s perspective, an Activity represents an entity within the resource that emits events on state changes within the entity or resource.” The activity is entitled to events which fires out events in the JSLEE and the SBB entity can capture those events and use that event for the Service Logic. Figure 2.5.5, shows an exam- ple of the activity which fires out events to the SBB entity which can then utilize the activity in the service building logic. The activity is handled by a resource that can be a resource adaptor which formulates the concept behind the activity depending upon the resource adap- tors functionality. Figure 2.5.4: Example for the Activity in JSLEE [Sunj] The activity context interface is another important concept in the JSLEE architecture. It is an interface between the SBB entity and the Activity which is handled by the resource domain. Basically the Activity fires out events to the SLEE Domain which can be handled by the SBB over the activity context interface.
  • 50. 2.5 JAIN Service Logic Execution Environment 50 Figure 2.5.5: Example of the Activity Context Interface and the Activity [Sunj] The Activity Context interface can be utilized by many SBBs, various useful objects can be stored in the Activity Context interface to maintain a persistence service. Even, the Activity can be stored in the Activity Context Interface which allows the SBB to utilize the stored activity in the activity context interface and then use the activity in the service logic. The activity is a resource oriented logic which is implemented in a resource adaptor and the resource adaptor fires outs event on an activity. On the other hand the SBB can accumulate the event which is fired by the resource adaptor over the activity context interface. The con- ceptual logic of the Activity and the Activity Context interface allows binding the SBB to a resource adaptor.
  • 51. 2.6 Resource Adaptor 51 2.6 Resource Adaptor The Resource Adaptor is basically an element presented in the JSLEE architecture, which provides the functionality to the JSLEE architecture to communicate with the external envi- ronment. The resource adaptor is general a communication protocol driven logic which pro- vides the functionality to the SBB (Service Building Block) to communicate on a specific protocol. So, for example if a Service is based on the SIP protocol, a SIP resource adaptor is used which provides the SBB to communicate to the external environment utilizing the SIP protocol which is embedded in the resource adaptor. In the implementation the EnOcean Resource Adaptor which is explained in chapter no. 4.3 is basically based on the TCP which allows the JSLEE based application server to communi- cate with the EnOcean gateway. As described in [Jain], a Resource Adaptor is an implemen- tation of one or more resource adaptor types. There may be multiple Resource Adaptors available for a particular resource adaptor type, each providing the same contract to SBB developers. Figure 2.6.1 An Example of a service building block where a SBB uses many resource adaptors Typically, a Resource Adaptor is provided either by a resource vendor or a SLEE vendor to adapt a particular resource implementation to a SLEE. So this makes it possible for many resource adaptors to communicate on various protocols like, SIP, TCP, and HTTP etc. The concept and logic of the communication protocol is developed in the resource adaptor which is accessible by the SBB. To expand the service implementation, one SBB can be bind with many resources adaptors. So if one service i.e. a SBB would like to use many protocols to implement the service that is possible. A simple block diagram shown in figure no. 2.6.1 represents the conceptual logic of using one SBB with many resource adaptors. The green oval shaped body represents the Service building block and the blue coloured box represents the resource adaptors. This func-