SUPPORTING MULTIMEDIA APPLICATIONS IN HOME
NETWORKS USING SIP AND SLP
Min-Xiou Chen
Department of Computer Science and Information Engineering, National Dong Hwa University, Hualien, Taiwan, R.O.C.
Bing-Yang Lin, Wen-Yen Weng
Department of Computer Science and Information Engineering, Chung Hua University, Hsinchu, Taiwan, R.O.C
Keywords: Session Initiation Protocol, Session Mobility, Home Network, Open Service Gateway Initiative.
Abstract: With increased communication bandwidth the demand for home network multimedia services is increasing.
A ubiquitous environment has been proposed to greatly facilitate human daily life. Service Location
Protocol (SLP) provides a dynamic way to search for the location of available services and service
information in the environment. Session Initiation Protocol (SIP) is an application layer signaling protocol.
SIP is used to create, modify and terminate multimedia sessions. We improved SIP to support streaming
service, and discover the streaming service using SLP. A prototype implementation is built to show the
implementation results of our prototype.
1 INTRODUCTION
Numerous home network appliances have been
developed to improve our daily life at home.
Through these home networked appliances, users
can remotely access and control home electrical
appliances from the office. Network service can
access appliances in the kitchen, living room, or
bathroom. Moreover, numerous multimedia services
are proliferating at an accelerated pace, such as the
video blog, YouTube, and audio or video stream.
With the various multimedia services, accessing,
managing and searching for desired information has
become a great challenge. Numerous different
protocols, standards and transmission modes, such
as SIP, UPnP, SLP, JXTA, and OSGi platform have
been proposed for interconnection or discovery with
these home networked devices and services.
Numerous researches (Wils, 2002) (Schulzrinne,
2003) (Bushmitch, 2004) (Schmidt, 2006) (Chen,
2009) were proposed in the services discovery issue.
Some of the proposed architectures (Bushmitch,
2004) (Schulzrinne, 2003) (Chen, 2009) are based
on the OSGi platform. With these proposed
architectures for Ubiquitous computing, the users
can easily search and access the heterogeneous
devices and services. Session mobility is the key
issue in SIP mobility management.
Some researches (Shacham, 2009) (Rosenberg,
2004) (Sparks, 2003) (Shacham, 2005) (Chen, 2007)
(Chen, 2010) were proposed in the services
discovery issue. In (Shacham, 2009), the authors
proposed mechanisms to provide session mobility
over multiple devices. Their mechanisms involved
the 3PCC (Rosenberg, 2004) control mechanism and
the REFER method (Sparks, 2003). In (Shacham,
2005), the authors integrated the service discovery
mechanism into the architecture proposed in
(Shacham, 2009). We also proposed the session
mobility over multiple devices using SIP (Chen,
2007) (Chen, 2010). In (Chen, 2007), we added the
extension header “Mobility” and introduce the
concept of “Association” into SIP to solve the
problem of session transfer. In (Chen, 2010), we
propose a complete mechanism, referred to as
“Session Integration Service”, to transfer and
retrieve a session over multiple devices.
This research constructed a digital home
environment with multimedia services. We propose
and implement a home network video stream service
based on SIP. The VoIP and 3GPP communities
have adopted SIP as their signaling protocol choice
over the past several years. SIP is an application
19
Chen M., Lin B. and Weng W. (2010).
SUPPORTING MULTIMEDIA APPLICATIONS IN HOME NETWORKS USING SIP AND SLP.
In Proceedings of the International Conference on Data Communication Networking and Optical Communication Systems, pages 19-24
DOI: 10.5220/0002960300190024
Copyright
c
SciTePress
layer signaling protocol that can be used to create,
modify and terminate sessions using one or more
devices. SIP can also be used to establish one or
multiple sessions including multimedia services,
such as audio, video and text information. However,
the video streaming services cannot be provided by
SIP.
The extension header “MediaService” is added to
SIP to provide video stream service. The control
functions for the video stream service, such as pause
and replay, are also considered in the MediaService
header. To provide session mobility, we implement
SIP UA based on the session integration service
results proposed in (Chen, 2010). We also introduce
SLP to provide service discovery in the home
network. The video stream or channel name
provided by the media server can be discovered and
accessed using SLP and SIP.
The remainder of this paper is organized as
follows. The digital home environment with
multimedia services architecture is proposed in
Section 2. Section 3 presents the digital home
environment implementation with multimedia
services. We provide the implementation results for
the proposed system in Section 4 and draw our
conclusions and future works in Section 5.
2 SYSTEM ARCHITECTURE
2.1 System Overview
Let us consider a scenario in which we are at home
during the holidays. We would like to see some
movies from a media streaming server. We may use
the TV remote control or PDA to discover the
streaming information from the local database in the
home network. When we retrieve the streaming
information from the Internet and see the movie in
our living room, we may want to move this movie to
the bedroom. We will need a session mobility
mechanism to transfer the on-going streaming movie
to the TV in the bedroom.
As we know the SIP can provide session
mobility in the network, but cannot be used to create
and control the video stream. Thus, we introduce an
extension header “MediaService” into the SIP to
provide video stream service. The system overview
is shown in Figure 1. In the home network, the SLP
DA is implemented in the residential gateway and
the media server works as the SLP SA to register its
services into the SLP DA (home DA). The Service
Integrated User Agent (SIUA) is involved in the SIP
UA and SLP UA functions. The SIUA can send a
service discovery message to the SLP DA in the
home network. Thus, the SLP DA will reply the
search results to the SIUA.
Figure 1: System Architecture.
2.2 Supporting One-way Streaming
Using SIP
When the SIUA retrieves multimedia stream
information from the SLP DA, the SIP is used to
establish a multimedia streaming between the SIUA
and media service. Thus, the extension header,
“MediaService”, is introduced into the SIP. There
are four fields involved in the MediaService header.
The type field is one byte used to describe the
streaming status provided by local services. The
value 0 indicates that this message is sent from a
one-way receiver and 1 indicates that this message is
sent from a one-way transmission. The admin field
is one byte used to describe the control command.
When the value is 0, this message is used to
establish a session and select a channel or file
carried in the option field. When the value is 1, the
control command is pause. When the value is set as
2, the control command is to play the paused stream.
When the user wants to transfer the session, the
admin value is 3. The length field is also one byte
used to indicate the number of bytes in the option
field. The option field can carry the selected channel
or the selected file name.
Figure 2 shows the established streaming session
procedure using the INVITE message. As shown in
Figure 2, when users wanted to establish a streaming
session the SIUA will send an INVITE message to
the media server. The INVITE message will contain
the MediaService header. The INVITE message is
sent from the SIUA to the media server and the
SIUA is the streaming receiver. Thus, the type field
is 0. The INVITE message is used to establish a new
streaming session. Thus, the admin value is 0. The
DCNET 2010 - International Conference on Data Communication Networking
20
user may select channel 2. Thus, the option field
value is 2 and the option field length is 1 byte.
Therefore, the MediaService header value is 0012.
Figure 2: INVITE Streaming Session.
When the media server receives the INVITE
message and the system accepts the INVITE
message, the server will return a 200 OK with the
MediaService header. The MediaService header
value is 1 because the response message is sent from
the media server, which is the streaming server.
After receiving the response message, the SIUA will
send the ACK message to the media server and
create a streaming session between the SIUA and the
media server.
When users want to pause a streaming session
the SIUA will send an INVITE message to the
media server with the MediaService header and the
value is 01. When the media server receives the
pause message, the media server will stop packet
transmission and reply with a 200 OK with the
MediaService header. The MediaService header
value will then be 11. When users wanted to replay
the streaming session, SIUA will send an INVITE
message to the media server with the MediaService
header and a value of 02. After receiving the replay
message, the media server will reply with a 200 OK
with the MediaService header (value is 12) and start
packet transmission. The detailed procedures are
shown in Figure 3.
We introduce the REFER mechanism and the
Nested REFER mechanism to provide session
mobility. As shown in Figure 4, the SIUA1 will
transfer the session between the SIUA1 and media
server to the SIUA2. The SIUA1 will send a pause
message to the media server. The SIUA1 will then
send a REFER message to the SIUA2 and the
MediaService header value will be 03. After
receiving the REFER message the SIUA2 will send
an INVITE message with the MediaService header
(value is 03) to the media server. When the media
server receives the INVITE message and the system
finds that this message is a referral message from the
MediaService header, the media server will return
with a 200 OK, transfer the session with the SIUA1
to the SIUA2.
Figure 3: Pause and Replay Procedures.
Figure 4: Session Mobility.
As shown in Figure 5 when the SIUA1 retrieves a
session that is transferred to the SIUA2, the SIUA1
will send the Nested REFER mechanism to the
SIUA2 and the MediaService header value will be
03. After receiving the Nested REFER message the
SIUA2 will send a REFER message to the SIUA1,
and the MediaService header value will still be 03.
Moreover, the SIUA2 will also send a pause
SUPPORTING MULTIMEDIA APPLICATIONS IN HOME NETWORKS USING SIP AND SLP
21
message to the media server. After receiving the
REFER message, the SIUA1 will send an INVITE
message with the MediaService header (value is 03)
to the media server. When the media server receives
the INVITE message and the system finds that this
message is a referral message from the
MediaService header the media server will return
with a 200 OK, transfer the session with the SIUA2
to the SIUA1.
Figure 5: Retrieval session.
3 SYSTEM IMPLEMENTATION
We integrated the SLP UA and SIP UA functions
into the Service Integrated User Agent (SIUA). We
implemented the SIUA based on the SIP
communicator project. We also integrated the SLP
SA and SIP UA functions into the media server, and
implemented the media server over the J2SE. We
need to register the service information into the SLP
DA. Thus, we installed the open-source code for
Maven jSLP into the residential gateway proposed in
(Chen, 2009), which was implemented based on the
open-source project of the OW2 Forge Oscar.
In our implementation, the jSLP is installed into
the residential gateway, which is implemented based
on the open-source project of the OW2 Forge Oscar.
In (Chen, 2009), we added an SLP bridge bundle,
referred to as “SACP”. The SACP works as SLP SA
discovers the UPnP devices and services from the
Service Registry of the OSGi platform and registers
these services and devices into the SLP DA. With
the SACP, the residential gateway can provide
automated heterogeneous devices discovery, registry
and management.
Figure 6 shows the multimedia home network
architecture. As shown in Figure 6, the media server
is involved in the SLP SA, SIP UA, and Media
Content. The SLP SA announces its service
information into the SLP DA. The SIP UA is used to
process the SIP signal procedure, such as session
established, session mobility and streaming control.
The Media Content is used to maintain the RTP
connection for the one-way streaming service.
The SIUA contains the SLP UA and SIP UA
functions and we implement the SIUA based on the
SIP communicator, as shown in Figure 7. The SIP
communicator has two major modules for network
communication. The Sip Manager is used to process
the SIP signaling function and the MediaManager is
used to maintain the RTP session. When the SIUA
wants to create a streaming session, the SipManager
will use the SendRequest() function to send the
INVITE message to the media server. When media
server wants to reply to the message, SipManager
will use SendOK() function to reply to the message.
The MediaManager will then create a RTP session
between the media server and SIUA, and use the
SendStream() function to send the packets.
Figure 6: The Multimedia Home Network Architecture.
Figure 7: The SIP UA Streaming Service Architecture.
4 IMPLEMENTATION RESULTS
As shown in Figure 1, we conducted experiments
with our prototype implementations to ensure the
location service ability and streaming service session
mobility. In the first approach, the media server
registers the streaming services into the server. The
DCNET 2010 - International Conference on Data Communication Networking
22
SIUA1 then sends a Service Request to the DA1 to
discover the streaming service, as shown in Figure 8.
When the SIUA1 receives the Service Reply, the
streaming service information will be shown on the
GUI, as shown in Figure 9.
The SIUA1 and media server then create a
streaming session. The SIUA1 will then transfer the
session to the SIUA2, as shown in the left of Figure
10, and the session between the SIUA1 and media
server will be transferred to the SIUA2 and media
server, as shown on the right side of Figure 10.
Finally, the SIUA1 will retrieve the session between
the SIUA2 and media server, as shown in Figure 11.
Figure 8: SLP Service Request Packet.
Figure 9: SLP Request Search Results.
Figure 10: Session Mobility.
Figure 11: Retrieval Session.
Figure 12 shows the media server packet traffic.
From Figure 12, we can find that the SIUA1 creates
a streaming session with the media server after 9
seconds, and the traffic between the SIUA1 and
media server is increased after 9 seconds. The
SIUA1 transfers the session to the SIUA2 after 17
seconds, the traffic between the SIUA1 and media
server is empty and the traffic between the SIUA2
and media server is increased after 17 seconds. The
SIUA1 retrieves the session, the traffic between the
SIUA1 and media server is increased and the traffic
between the SIUA2 and media server is empty after
24 seconds.
SUPPORTING MULTIMEDIA APPLICATIONS IN HOME NETWORKS USING SIP AND SLP
23
Figure 12: Packet Traffic of Media Server.
5 CONCLUSIONS AND FUTURE
WORKS
The Internet has grown to an enormously large scale,
with ubiquitous computing receiving increased
attention over the past few years. In a home network,
providing service discovery and multimedia services
has become a great challenge. This paper proposed
and implemented a video stream service for a home
network based on SIP. The MediaService header
was added into the SIP to provide video stream
service. With the MediaService header and REFER
method, streaming service session mobility can be
provided. With the SLP, the SIUA can discover
services from the SLP DA and access the media
streaming from the media server. Application
examples were introduced and the implementation
results show the ability of the proposed architecture.
In the future, we will extend our proposed
architecture with OSGi platform capabilities to
support an intelligent Home network system and
intelligent Vehicle network system.
ACKNOWLEDGEMENTS
This work was supported by the National Science
Council of Taiwan, R.O.C. under Grant NSC96-
2221-E-216-010, NSC97-2221-E-259-036, and
NSC98-2221-E-259-014.
REFERENCES
Bushmitch, D., Lin, W., Bieszczad, A., Kaplan, A.,
Papageorgiou, V., and Pakstas, A., 2004. A SIP-based
device communication service for OSGi Framework.
IEEE Consumer Communications and Networking
Conference.
Chen, M., Peng, J., and Hwang, R., 2007. SSIP: Split a
SIP Session over Multiple Devices. Computer
Standards and Interfaces. Vol. 29, No. 5 pp. 531-545.
Chen, M., and Tzeng, T., 2009. Heterogeneous Service
Location Service Architecture Based on OSGi
Technology. International Conference on Advanced
Communication Technology.
Chen, M., and Wang, F., 2010. Session Integration Service
over Multiple Devices. International Journal of
Communication Systems, Vol. 23, No. 5, pp. 673-690.
Rosenberg, J., Peterson, J., Schulzrinne, H., and Camarillo,
G., 2004. Best Current Practices for Third Party Call
Control (3PCC) in the Session Initiation Protocol
(SIP). IETF RFC 3515.
Schmidt, H., Guenkova-Luy, T., and Hauck, F.J., 2006.
Service Location Using The Session Initiation
Protocol (SIP). International Conference on
Networking and Services.
Schulzrinne, H., Wu, X., Sidiroglou, S., and Berger, S.,
2003. Ubiquitous Computing in Home Networks.
IEEE Communications Magazine, Vol 41, No. 11, pp.
128-135.
Shacham, R., Schulzrinne, H., Thakolsri, S., and Kellerer,
W., 2005. The Virtual Device: Expanding Wireless
Communication Services through Service Discovery
and Session Mobility. IEEE International Conference
on Wireless and Mobile Computing, Networking And
Communications.
Shacham, R., Schulzrinne, H., Thakolsri, S., and Kellerer,
W., 2009. Session Initiation Protocol (SIP) Session
Mobility. IETF RFC 5631.
Sparks, R., 2003. The Session Initiation Protocol (SIP)
Refer Method. IETF RFC 3515.
Wils, A., Matthijs, F., Berbers, Y., Holvoet, T., and De
Vlaminck, K., 2002. Device discovery via residential
gateways. International Conference on Consumer
Electronics.
DCNET 2010 - International Conference on Data Communication Networking
24