IP Library Granted Patent US 10,306,000
Granted Patent B1
US 10,306,000 · App. 15/163,517 · Granted May 28, 2019

Methods and apparatus for generating, aggregating and/or distributing presence information

Inventors: Kevin Neil Isacks (Fremont, CA); Lisa Villa Neyen (Belmont, NC); Shambhu Dayal Rai (Monmouth Junction, NJ); Timothy R. Thornton (Brick, NJ)
Assignee: Ribbon Communications Operating Company, Inc.
H04L67/22H04L65/1006H04L65/1069H04L65/1073H04L67/24H04L67/306H04M7/127
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 10,306,000
App. No.
15/163,517
Granted
May 28, 2019
Kind
B1
Abstract

Methods and apparatus for deriving and/or generating, user presence information from communication signals monitored by a SBC or PRI Gateway and aggregating and/or distributing the user presence information. An exemplary method embodiment includes the steps of storing a plurality of user profile records, each of the user profile records mapping contact information for a user to one or more user identifiers corresponding to the user; receiving first signaling information; determining a first user corresponding to the first signaling information by comparing at least a first portion of the information contained in the first signaling information to at least a first portion of the information contained in the plurality of user profiles; and generating presence status information for the first user and communicating the first presence status information to a presence server as presence status information corresponding to a first user identifier, said first user identifier corresponding to said first user.

Claims (63)

1. A method of operating a communications system, the method comprising:

storing, at a storage device of the communications system, a plurality of user profile records, each of the user profile records mapping contact information for a user to one or more user identifiers corresponding to the user;

receiving from a first end user device, at a monitoring device of the communications system, first signaling messages being exchanged between said first user device and a second device passing through said monitoring device for establishing or terminating a call, said monitoring device being a Session Border Controller (SBC), said monitoring device including said storage device or being coupled to said storage device;

determining, at the monitoring device, a first user corresponding to the first signaling messages by comparing at least a first portion of information contained in the first signaling messages to at least a first portion of the information contained in the plurality of user profiles;

generating, at the monitoring device, first presence status information corresponding to the first user based on said first signaling messages;

communicating, from the monitoring device, the first presence status information, in a first format, to a first presence server as presence status information corresponding to a first user identifier, said first user identifier corresponding to said first user; and

transmitting to said second device from said SBC said received first signaling messages as part of exchanging said messages between said first user device and said second device for establishing or terminating said call, said first signaling messages being call establishment signaling messages or call termination signaling messages;

generating by the SBC a user profile from information contained in the first signaling messages, said generated user profile containing contact information; and

using said SBC generated user profile to determine the first user through user profile matching, said user profile matching including:

comparing said contact information in said generated user profile with contact information in said plurality of user profile records and

when said comparison results in only a single user profile record with matching contact information determining said user corresponding to said single user profile record with said matching contact information as the first user, and

when said comparison results in two or more of said user profile records of said plurality of user profile records having contact information matching said contact information in said SBC generated user profile, matching one or more additional attributes in said generated user profile to identify a single matching user profile record from said plurality of user profile records and determining said user corresponding to said identified single matching user profile from said plurality of user profile records as the first user; and

obtaining said first user identifier corresponding to said first user from the user profile record determined to correspond to the first user.

2. The method of claim 1 further comprising:

non-intrusively monitoring, at the SBC, control signals passing through the SBC corresponding to a plurality of different users to determine if presence status information can be derived from signaling information contained in said control signals for one or more users for which a user profile has been stored in the storage device, said control signals being for establishing voice over internet telephone calls or media sessions.

3. The method of claim 2 , wherein said first signaling messages passing through said monitoring device contain Signaling System No. 7 (SS7) call information.

4. The method of claim 3 , wherein said Signaling System No. 7 call information is Integrated Services Digital Network User Part (ISUP) call information and said contact information is called party number or calling party number; the method further including:

determining said first user identifier from said contact information stored in said first user profile.

5. The method of claim 2 , wherein said monitoring device is a SBC which is an edge device positioned between a PBX and a PSTN network further comprising:

subsequent to receiving said first signaling messages passing through said SBC, receiving, at the SBC, second signaling messages passing through the SBC;

determining, at the SBC, if said second signaling messages correspond to said first user and when said second signaling messages are determined to correspond to said first user;

updating, at the SBC, said first presence information corresponding to the first user identifier of the first user indicating a presence state of said first user; and

communicating said updated first presence information, in the first format, to the presence server.

6. The method of claim 1 , wherein said plurality of user profile records includes a user profile record for the first user and said first user profile record includes contact information for said first user and a first user identifier corresponding to said first user, said contact information for said first user and said first user identifier being different.

7. The method of claim 6 , wherein said contact information for said first user includes one or more of the following: a name, a telephone number, an address, an IMS ID, a MS Lync ID, a Skype for business ID.

8. The method of claim 7 , wherein said contact information for said first user is mapped to a MS Lync ID or a Skype for business Lync ID corresponding to the first user.

9. The method of claim 6 ,

wherein said contact information for said first user includes a plurality of different telephone numbers selected from the following group: a landline number, a mobile number, a home number, a work number, and a Private Branch Exchange (PBX) line number; and

wherein said at least a first portion of information contained in the first signaling messages is a telephone number; and

wherein said method further includes said SBC normalizing said telephone number of said first signaling messages prior to performing said comparing at least a first portion of information contained in the first signaling messages to at least a first portion of the information contained in the plurality of user profiles.

10. Them method of claim 1 further comprising:

prior to communicating said first presence status information to said presence server in the first format, processing the information contained in the first signaling messages to determine said first presence status information to put it in said first format.

11. The method of claim 1 further comprising receiving said first signaling messages at the monitoring device from a PBX, the first signaling messages including one of the following: call initiation signaling information, call connection signaling information, and call connection termination signaling information.

12. The method of claim 1 further comprising:

determining, at the monitoring device, a second user corresponding to the first signaling messages by comparing at least a second portion of the information contained in the first signaling messages to at least a second portion of the information contained in the plurality of user profiles;

generating, at the monitoring device, first presence status information corresponding to the second user based on said first signaling messages;

communicating, from the monitoring device, the first presence status information corresponding to the second user, in a first format, to the first presence server as presence status information corresponding to a second user identifier, said second user identifier corresponding to said second user.

13. The method of claim 1 further comprising: routing, by the SBC, the first signaling messages to a plurality of phone numbers based on contact information contained in a user profile record identified as corresponding to the user for whom the received first signaling messages are destined.

14. A monitoring apparatus comprising:

a storage device for storing a plurality of user profile records, each of the user profile records mapping contact information for a user to one or more user identifiers corresponding to the user;

an Input/Output Interface configured to receive and transmit first signaling messages received from a first end user device, said monitoring apparatus being a Session Border Controller (SBC), said first signaling messages being exchanged between said first user device and a second user device for establishing or terminating a call; and

a processor configured to operate said monitoring apparatus to:

identify a first user corresponding to the first signaling messages by comparing at least a first portion of information contained in the first signaling messages to at least a first portion of the information contained in the plurality of user profiles;

generate first presence status information corresponding to the first user based on said first signaling messages;

communicate via said Input/Output Interface the first presence status information, in a first format, to a first presence server as presence status information corresponding to a first user identifier, said first user identifier corresponding to said first user; and

transmit via said Input/Output Interface said received first signaling messages to said second user device as part of exchanging said messages between said first user device and said second user device for establishing or terminating said call, said first signaling messages being call establishment signaling messages or call termination signaling messages;

generate a user profile from information contained in the first signaling messages, said generated user profile containing contact information; and

using said SBC generated user profile to determine the first user through user profile matching, said user profile matching including:

comparing said contact information in said generated user profile with contact information in said plurality of user profile records and

when said comparison results in only a single user profile record with matching contact information determining said user corresponding to said single user profile record with said matching contact information as the first user, and

when said comparison results in two or more of said user profile records of said plurality of user profile records having contact information matching said contact information in said SBC generated user profile, matching one or more additional attributes in said generated user profile to identify a single matching user profile record from said plurality of user profile records and determining said user corresponding to said identified single matching user profile from said plurality of user profile records as the first user; and

obtain said first user identifier corresponding to said first user from the user profile record determined to correspond to the first user.

15. The apparatus of claim 14 wherein said information included in said first signaling messages includes at least one of: user call status information, SIP user registration status information, user access network status information, and user device capability information.

16. The apparatus of claim 14 wherein the processor is further configured to operate said monitoring apparatus to:

non-intrusively monitor control signals passing through the SBC corresponding to a plurality of different users to determine if presence status information can be derived from signaling information contained in said control signals for one or more users for which a user profile has been stored in the storage device, said control signals being for establishing voice over internet telephone calls or media sessions.

17. The apparatus of claim 14 wherein said plurality of user profile records includes a user profile record for the first user and said first user profile record includes contact information for said first user and a first user identifier corresponding to said first user, said contact information for said first user and said first user identifier being different.

18. The apparatus of claim 17 , wherein said contact information includes one or more of the following: a name, a telephone number, an address, an IMS ID, a MS Lync ID, a Skype for business ID.

19. The apparatus of claim 16 , wherein said SBC is an edge device positioned between a PBX and a PSTN network wherein said processer is further configured to operate said monitoring apparatus to:

receive second signaling messages passing through the SBC via the Input/Output Interface subsequent to receiving said first signaling messages;

determine if said second signaling messages correspond to said first user and when said second signaling messages are determined to correspond to said first user;

update said first presence information corresponding to the first user identifier of the first user indicating a presence state of said first user; and

communicate said updated first presence information, in the first format, to the presence server.

20. The apparatus of claim 14 , wherein said processor of the SBC is further configured to operate the SBC to route the first signaling messages to a plurality of phone numbers based on contact information contained in a user profile record identified as corresponding to the user for whom the received first signaling messages are destined.

Assignments (12)
SHORT-FORM PATENTS SECURITY AGREEMENT Recorded Sep 5, 2024
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 068857/0290 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2024
From: CITIZENS BANK, N.A.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 067822/0433 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 044978/0801 Recorded Dec 6, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 058949/0497 →
SECURITY INTEREST Recorded Mar 3, 2020
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052076/0905 →
CHANGE OF NAME Recorded Jan 16, 2019
From: SONUS NETWORKS, INC.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 048078/0036 →
SECURITY INTEREST Recorded Jan 2, 2018
From: GENBAND US LLC; SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 044978/0801 →
MERGER AND CHANGE OF NAME Recorded Dec 24, 2017
From: SOLSTICE SAPPHIRE, INC.; SONUS NETWORKS, INC.; SONUS NETWORKS, INC.
To: SONUS, INC.
Reel/Frame 044957/0243 →
CHANGE OF NAME Recorded Dec 24, 2017
From: SONUS, INC.
To: SONUS NETWORKS, INC.
Reel/Frame 044957/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2016
From: RAI, SHAMBHU DAYAL
To: SONUS NETWORKS, INC.
Reel/Frame 039021/0933 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2016
From: ISACKS, KEVIN NEIL
To: SONUS NETWORKS, INC.
Reel/Frame 038999/0389 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2016
From: NEYEN, LISA VILLA
To: SONUS NETWORKS, INC.
Reel/Frame 038829/0766 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2016
From: THORNTON, TIMOTHY R.
To: SONUS NETWORKS, INC.
Reel/Frame 038829/0854 →
Continuity (2)
Continuation In Part 14312038 · Jun 23, 2014
Continuation In Part 14231606 · Mar 31, 2014
Cited By (1)
US 12,243,525