IP Library › Granted Patent US 11,909,920
Granted Patent B2
US 11,909,920 · App. 17/520,607 · Granted Feb 20, 2024

Converged voicemail provisioning and FQDN based voicemail call routing

Inventor: Dhurjati Brahma (Bellevue, WA)
Assignee: T-Mobile USA, Inc.
H04M3/533
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 11,909,920
App. No.
17/520,607
Granted
Feb 20, 2024
Kind
B2
Abstract

Systems and methods for selectively routing an unanswered communication session to a voicemail system based at least on a voicemail system identifier (FQDN) mapped to a voicemail pilot number (present within the voicemail routing profile) are described herein. The system generates the voicemail routing profile in response to a provisioning request that identifies one or more messaging services, including a voicemail service, that are to be provided to a user profile. The voicemail profile is stored within a database that is accessed to obtain the voicemail routing profile when a user device registers with a communication network and is associated with the user profile. The system utilizes internal lookup tables and repository functions to identify the voicemail system associated with the user profile and the voicemail routing profile in response to a communication session being unanswered. The system can route the communication session to the voicemail system based at least on the voicemail system identifier mapped to the voicemail pilot number present within the voicemail routing profile.

Claims (83)

1. A method comprising:

determining that a user device has registered with a communication network, the user device being associated with a user profile;

determining, based at least on the user profile, a voicemail routing profile that is associated with the user device and a communication session originating from the user device;

receiving, from the communication network, a communication session invite transmitted by the user device that is unanswered by a target device;

determining, based at least on the communication session invite being unanswered, a voicemail system identifier that is associated with the voicemail routing profile;

determining, based at least on the voicemail system identifier, routing information that is associated with the voicemail system; and

routing, based at least on the routing information, the communication session invite to the voicemail system such that a voicemail is deposited by the user device via the voicemail system.

2. The method of claim 1 , wherein:

the communication network is an IP Multimedia Subsystem network;

the voicemail routing profile comprises a voicemail pilot number,

the communication session invite is a SIP invite;

the voicemail system identifier is a Fully Qualified Domain Name; and

the routing information is a virtual IP address for a load balancer of the voicemail system.

3. The method of claim 1 , wherein determining the voicemail system identifier further comprises:

accessing an internal lookup table that includes a set of voicemail system identifiers; and

determining, based at least on the internal lookup table, that the voicemail pilot number is associated with the voicemail system identifier.

4. The method of claim 3 , wherein the internal lookup table further comprises:

the set of voicemail system identifiers associated with one or more user attributes that are stored by the voicemail routing profile; and

the internal lookup table is configured to associate the voicemail system identifier with voicemail routing profiles containing the one or more user attributes such that the voicemail routing profiles are directed to the voicemail system.

5. The method of claim 1 , wherein determining the routing information further comprises:

transmitting, to a repository function, the voicemail system identifier associated with the communication session invite; and

receiving, from the repository function, the routing information associated with the voicemail system.

6. The method of claim 5 , wherein:

the repository function is a Domain Name Server (DNS) that is associated with a Global Traffic Manager (GTM);

the voicemail system identifier causes the DNS to request the routing information from the GTM; and

the request causes the GTM to determine, based at least on a utilization of one or more voicemail systems, the routing information of the voicemail system.

7. The method of claim 1 , wherein determining the voicemail routing profile further comprises:

sending, to a database, a request for the voicemail routing profile that identifies the user profile associated with the user device; and

receiving, from the database a response that provides the voicemail routing profile.

8. A system comprising:

one or more processors;

a memory; and

one or more instructions stored in the memory and executable by the one or more processors to perform operations comprising:

receiving, from a user device, a communication session invite that identifies a target device;

transmitting the communication session invite to the target device;

determining that the target device failed to establish a communication session with the user device in response to the communication session invite;

routing the communication session invite to a network node configured to enable a voicemail to be deposited;

causing, based at least on the communication session invite, the network node to identify a voicemail routing profile associated with the user device;

transmitting, from the network node to a repository function, a query that includes a voicemail system identifier associated with the voicemail routing profile and causes the repository function to return routing information to the network node; and

routing the communication session invite from the network node to a voicemail system associated with the voicemail system identifier such that a voicemail is deposited by the user device.

9. The system of claim 8 , wherein:

the communication session invite is a SIP invite;

the voicemail system identifier is a Fully Qualified Domain Name;

the routing information is a virtual IP address for a load balancer of the voicemail system;

the network node is a Breakout Gateway Control Function; and

the repository function is a Domain Name Server that is associated with a Global Traffic Manager.

10. The system of claim 8 , wherein:

the network node, the repository function, and the voicemail system are associated with a first communication network; and

the communication session invite is received from the user device via a second communication network.

11. The system of claim 10 , wherein routing the communication session invite to the network node further comprises:

transmitting, to the second communication network, an indication that the communication session invite failed to establish the communication session with the target device;

causing a bridge function associated with the first communication network and the second communication network to obtain the voicemail routing profile associated with the user device; and

transmitting, from the bridge function to the network node, the communication session invite.

12. The system of claim 8 , wherein:

the network node, the repository function, and the voicemail system are associated with a first communication network;

the communication session invite is received from the user device via the first communication network; and

the communication session invite is transmitted to the target device via a second communication network.

13. The system of claim 12 , wherein routing the communication session invite to the network node further comprises:

transmitting, to the first communication network, an indication that the communication session invite failed to establish the communication session with the target device; and

forwarding, based at least on the indication, the communication session invite to the network node.

14. The system of claim 8 , wherein the repository function is associated with a voicemail load balancer configured to identify an available voicemail system for the voicemail based on at least one of:

one or more system utilizations associated with the voicemail system and one or more additional utilization, wherein the voicemail load balancer selects the voicemail system based on a system utilization of the voicemail system being less than a utilization threshold;

a sequence of voicemail systems, wherein the voicemail load balancer selects the voicemail system based on the voicemail system being indicated by the sequence of voicemail systems; or

a randomizer function that identifies the voicemail system at random for the voicemail load balancer.

15. A method comprising:

generating, for a user profile and a services profile, a provisioning request that indicates one or more messaging services associated with the user profile and the services profile;

transmitting the provisioning request to a web services gateway;

causing the web services gateway to associate the user profile with the one or more messaging services within a subscriber database;

transmitting the provisioning request to a provisioning gateway;

causing the provisioning gateway to generate the voicemail routing services profile that is associated with the user profile based at least on a voicemail service that is included in the one or more messaging services; and

storing the voicemail routing services profile within a database of a communication network, the database of the communication network configured to provide the voicemail routing services profile to a network node in response to a user device of the user profile registering with the communication network.

16. The method of claim 15 , wherein causing the web services gateway to associate the user profile with the one or more messaging services further comprises:

determining, one or more user attributes that are provided to the web services gateway via the provisioning request;

causing, based at least on the one or more user attributes, the web services gateway to configure permissions for the one or more messaging services that are associated with the user profile via the subscriber database; and

causing the web services gateway to provision one or more messaging services for the user profile.

17. The method of claim 16 , wherein the user attributes further cause the web services gateway to allocate an amount of storage for the user profile associated with the one or more messaging services within a message store database.

18. The method of claim 15 , wherein causing the provisioning gateway to generate the voicemail routing services profile further comprises:

determining the one or more messaging services include the voicemail service;

determining one or more user attributes associated with the voicemail service;

determining a user class that is associated with the user profile; and

causing the provisioning gateway to generate the voicemail routing services profile based at least on the user class.

19. The method of claim 18 , wherein the user class indicates a type of user and a type of services that can be accessed by the user profile, the user class indicating that the user profile is associated with at least one of a consumer user or an enterprise user.

20. The method of claim 18 , wherein the user class is an indicator of a voicemail system that unanswered communication sessions from the user profile are routed to, the user class being associated with the voicemail system within a repository function of the communication network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2021
From: BRAHMA, DHURJATI
To: T-MOBILE USA, INC.
Reel/Frame 058038/0162 →
Continuity (1)
Related Publication 20230141097A1 · May 11, 2023
Cited By (1)
US 12,513,208