IP Library Granted Patent US 8,873,570
Granted Patent B2
US 8,873,570 · App. 11/969,648 · Granted Oct 28, 2014

Extensible system and method to bridge SIP and UPnP devices

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,873,570
App. No.
11/969,648
Granted
Oct 28, 2014
Kind
B2
Abstract

Embodiments of the invention generally provide a method and apparatus for bridging session initiation protocol and universal plug and play devices. One embodiment of the invention specifies a method that enables legacy session initiation protocol and universal plug and play devices to communicate with each other (i.e., to access services), where the term “legacy” is defined to mean IETF RFC 3261-compliant for session initiation protocol devices, and DLNA 1.0-compliant for universal plug and play devices. The method enables inter-working between the session initiation protocol and universal plug and play devices without requiring changes to the legacy devices. One embodiment of the invention is a transparent software bridge that enables these features.

Claims (47)

1. A method for bridging a session initiation protocol (SIP) device and a universal plug and play (UPnP) device, the method comprising:

receiving a command from the SIP device to access the UPnP device, wherein the command includes bridging an address format that reuses a format of a SIP URI (Uniform Resource Identifier) to address a service associated with the universal plug and play UPnP device, wherein the address format comprises a SIP domain of the SIP device (“Domain”), a device identifier of the UPnP device (“deviceID”), and a service identifier of the service associated with the UPnP device that is requested by the command (“serviceID”), wherein the address format arranges the Domain, the deviceID, and the serviceID using a syntax that includes each of the deviceID, the serviceID, and the Domain;

mapping the command to a series of actions to be executed by the UPnP device;

transmitting one or more UPnP commands corresponding to the series of actions to the UPnP device; and

receiving a response from the UPnP device based on the one or more UPnP commands.

2. The method of claim 1 , further comprising:

discovering at least one UPnP device, including one or more services associated with the at least one UPnP device; and

associating a user service request address with each discovered UPnP device and the discovered UPnP device's associated services, wherein each user service request address is an address format that reuses a format of a SIP URI.

3. The method of claim 2 , wherein each user service request address reuses a format of a SIP URI.

4. The method of claim 3 , further comprising:

registering at least one UPnP service using semantics of a SIP URI.

5. The method of claim 4 , wherein a “To” field of a SIP header is used in a REGISTER method to specify a UPnP service for registration in a SIP domain.

6. The method of claim 4 , further comprising:

locating the at least one UPnP service using the semantics of the SIP URI.

7. The method of claim 6 , wherein a “To” field of a SIP header is used in an INVITE method to enable the SIP device to locate the at least one UPnP service.

8. The method of claim 6 , further comprising:

invoking the least one UPnP service using the semantics of the SIP URI.

9. The method of claim 8 , wherein a “To” field of a SIP header is used in an INVITE method to enable the SIP device to call at least one media item.

10. The method of claim 1 , further comprising:

representing the SIP device to a UPnP network as a UPnP audio/visual renderer device; and

mapping at least one operation of the UPnP device to at least one SIP message.

11. The method of claim 10 , wherein a UPnP GetProtocolInfo( ) message is used to obtain a protocol/format list of the SIP device.

12. The method of claim 1 , wherein the syntax of the address format comprises “deviceID.serviceID@Domain”.

13. A non-transitory computer readable medium containing an executable program for bridging a session initiation protocol (SIP) device and a universal plug and play (UPnP) device, where the executable program comprises instructions for:

receiving a command from the SIP device to access the UPnP device, wherein the command includes an address format that reuses a format of a SIP URI (Uniform Resource Identifier) to address a service associated with the UPnP device, wherein the address format comprises a SIP domain of the SIP device (“Domain”), a device identifier of the UPnP device (“deviceID”), and a service identifier of the service associated with the UPnP device that is requested by the command (“serviceID”), wherein the address format arranges the Domain, the deviceID, and the serviceID using a syntax that includes each of the deviceID, the serviceID, and the Domain;

mapping the command to a series of actions to be executed by the UPnP device;

transmitting one or more UPnP commands corresponding to the series of actions to the UPnP device; and

receiving a response from the UPnP device based on the one or more UPnP commands.

14. The non-transitory computer readable medium of claim 13 , wherein the bridging allows the SIP device to access at least one UPnP service.

15. The non-transitory computer readable medium of claim 14 , wherein the executable program further comprises instructions for:

discovering at least one UPnP device, including one or more services associated with the at least one UPnP device; and

associating a user service request address with each discovered UPnP device and the discovered UPnP device's associated services, wherein each user service request address is an address format that reuses a format of an identifier of a SIP URI.

16. The non-transitory computer readable medium of claim 15 , wherein each user service request address reuses a format of a SIP URI.

17. The non-transitory computer readable medium of claim 16 , wherein the executable program further comprises instructions for:

registering at least one UPnP service using semantics of a SIP URI;

locating the at least one UPnP service using the semantics of the SIP URI; and

invoking the least one UPnP service using the semantics of the SIP URI.

18. The non-transitory computer readable medium of claim 13 , wherein the bridging allows the UPnP device to access at least one session-based service offered by the SIP device.

19. The non-transitory computer readable medium of claim 13 , wherein the syntax of the address format comprises “deviceID.serviceID@Domain”.

20. A system comprising:

a session initiation protocol (SIP) device; and

a universal plug and play (UPnP) device; and

a computing device executing a software bridge configured to:

receive a command from the SIP device to access the UPnP device, wherein the command includes an address format that reuses a format of a SIP URI (Uniform Resource Identifier) to address a service associated with the UPnP device, wherein the address format comprises a SIP domain of the SIP device (“Domain”), a device identifier of the UPnP device (“deviceID”), and a service identifier of the service associated with the UPnP device that is requested by the command (“serviceID”), wherein the address format arranges the Domain, the deviceID, and the serviceID using a syntax that includes each of the deviceID, the serviceID, and the Domain;

map the command to a series of actions to be executed by the UPnP device;

transmit one or more UPnP commands corresponding to the series of actions to the UPnP device; and

receive a response from the UPnP device based on the one or more UPnP commands.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034343/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT CORPORATION
To: GENERAL INSTRUMENT HOLDINGS, INC.
Reel/Frame 030764/0575 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT HOLDINGS, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 030866/0113 →