US Pat. No. 10,298,480

NETWORK COMMUNICATION METHODS AND APPARATUS

Ribbon Communications Ope...

1. A method of controlling communications in a network, the method comprising:storing data transfer topology information indicating at least physical topology among data transfer devices;
storing application metadata extracted from a plurality of application components, said application metadata including thread counts, number of concurrent users, and number of running instances;
identifying network operation and performance problems based on analyzing the application metadata;
generating a data transfer path to be used for communicating data corresponding to an application component based on the data transfer topology information, the identified network operation and performance problems and data transfer technology characteristics, said data transfer technology characteristics including information about which of the data transfer devices can interoperate, along with their data transfer device data rates, and latency;
performing a simulation of the data transfer path using historical network traffic patterns to predict an effect of the generated data transfer path on traffic patterns;
making a decision based on said simulation as to whether or not to implement the generated data transfer path instead of a current data transfer path, wherein the decision is made based on whether or not the generated data transfer path is more optimal than the current data transfer path;
using the data transfer path to communicate data corresponding to the application component when said decision is to implement said generated data path; and
wherein at least some of said data transfer devices correspond to different technologies used in a mixed technology network.

US Pat. No. 10,798,757

SYSTEMS, METHODS, AND COMPUTER PROGRAM PRODUCTS FOR TOKEN-BASED SESSION SETUP IN TELECOMMUNICATION SERVICES

Ribbon Communications Ope...

1. A method performed by a communication server comprising:receiving a request from a first network entity to set up a communication session between a first user at a first device and a second user at a second device, wherein the first network entity is registered with the communication server;
in response to the request, generating a token, wherein the token is configured to grant access to the communication session;
sending the token to the first network entity;
after sending the token to the first network entity, receiving the token from the first user at the first device; and
causing the communication session to be set up between the first user at the first device and the second user at the second device according to the token, wherein a destination address of the second device is kept secret from the first user.

US Pat. No. 10,687,373

OPTIMIZATIONS FOR VOICE HANDOVERS OVER WIRELESS DATA ACCESS

Ribbon Communications Ope...

1. A method comprising:establishing, by a user equipment (UE), a connection to a serving access network using a first radio access technology (RAT) of the UE;
registering, by the UE, with a first network over the connection to the serving access network;
establishing, by the UE, a communication session between the UE and a remote UE, wherein the communication session is provided via a serving leg and a remote leg, the serving leg comprises a media path between the UE and the first network and the remote leg comprises a media path between the first network and the remote UE, wherein the serving leg is provided, at least in part, by the connection to the serving access network;
determining, by the UE, whether to handover the communication session from the serving access network to a target access network;
in response to a determination to handover the communication session:
establishing a connection to the target access network using a second RAT of the UE; and
transmitting, by the UE, a register message to the first network over the connection to the target access network, wherein the register message is configured to refresh the registration of the UE with the first network; and
in response to refreshing the registration of the UE with the first network over the connection to the target access network, initiating operations to handover the communication session from the serving access network to the target access network, wherein, after handover, the communication session between the UE and the remote UE is provided via a new serving leg, wherein the new serving leg comprises a new media path between the first network and the UE, and wherein the new serving leg is provided, at least in part, by the connection to the target access network.

US Pat. No. 10,659,485

COMMUNICATIONS METHODS AND APPARATUS FOR DYNAMIC DETECTION AND/OR MITIGATION OF ANOMALIES

Ribbon Communications Ope...

1. A method of processing calls to the customer, the method comprising:processing a first set of call detail records of the customer, each call detail record in said first set of call detail records corresponding to an individual call and including multiple information fields providing information about the individual call to which the call detail record corresponds, said processing including:
generating from some of said call detail records of the first set of call detail records, on a per call detail record basis, one or more Field Group IDs using a hash function;
generating for call detail records corresponding to a first Field Group ID a first set of key performance indicators, said first set of key performance indicators including one or more key performance indicators corresponding to the first Field Group ID, said one or more key performance indicators including at least a first key performance indicator; and
determining that a first key performance indicator violation has occurred for the first Field Group ID when the first key performance indicator exceeds a first dynamic performance threshold.

US Pat. No. 10,547,602

COMMUNICATIONS METHODS AND APPARATUS RELATED TO WEB INITIATED SESSIONS

Ribbon Communications Ope...

1. A method of operating a client device, the method comprising:detecting, by the client device, user input indicating selection of a call initiation option corresponding to a web page used to initiate a call to a party;
sending, by the client device, a request for a call authorization token to a web server;
receiving, by the client device, an issued call authorization token from said web server, said call authorization token including information encrypted by the web server using a key known to the web server and a Session Border Controller and authorizing the Session Border Controller to establish a call between the client device and a called party device, said encrypted information including a token number; and
sending, by the client device, a signal to initiate a call to said Session Border Controller, said signal being an invite message including information identifying the party to which said call is directed and said issued call authorization token.

US Pat. No. 10,541,855

RESOURCE ALLOCATION METHODS AND APPARATUS

Ribbon Communications Ope...

1. A method of managing resources in a communications system, the method comprising:operating a first resource manager, of a first session border controller, as a master resource manager for a plurality of session border controllers in a cluster of session border controllers, said first session border controller being one of the plurality of session border controllers in said cluster, operating the first resource manager including:
receiving, at the first resource manager, resource utilization reporting messages from session border controllers in said cluster, said resource utilization reporting messages including resource utilization information;
determining, at the first resource manager, from the reported resource utilization information which of a plurality of session border controller modes of operation the session border controllers are to operate in for a first resource group, said plurality of modes of session border controller operation for the first resource group including at least: i) a normal mode of operation in which session border controllers in the cluster report resource utilization for the first resource group to the first resource manager at fixed time interval spacing T and a critical mode of operation in which session border controllers in said cluster communicate resource utilization reporting messages for the first resource group to said first resource manager at a faster rate than during said normal mode of operation and during which the session border controllers reject any resource allocation requests requesting resources in the first resource group that would require a resource allocation exceeding an allocation limit assigned to an individual session border controller performing a resource allocation;
wherein said normal mode of operation is determined when the reported resource utilization for the first resource group is below or equal to a first threshold and said critical mode of operation is determined when the reported resource utilization for the first resource group is above the first threshold;
wherein during said normal mode of operation a session border controller can allocate resources above a resource allocation limit specified for the first resource group by the first resource manager for the individual session border controller performing the resource allocation; and
communicating the determined mode of operation for the first resource group to one or more session border controllers in said cluster.

US Pat. No. 10,278,106

OPTIMIZATIONS FOR VOICE HANDOVERS OVER WIRELESS DATA ACCESS

Ribbon Communications Ope...

1. A method comprising:receiving, by a network node operating between an access network and a core network, a register message from a user equipment (UE), wherein the register message is transmitted by the UE via a connection between the UE and a target access network subsequent to the UE establishing a communication session between the UE and a remote UE and is configured to refresh the registration of the UE with the core network, wherein the communication session is provided via a serving leg and a remote leg, wherein the serving leg comprises a media path between the UE and the network node and the remote leg comprises a media path between the network node and the remote UE, and wherein the serving leg is provided, at least in part, by a connection between the UE and a serving access network;
refreshing, by the network node, the registration of the UE with the core network based on the received register message;
subsequent to refreshing the registration of the UE with the core network, receiving a handover message from the UE requesting handover of the communication session between the UE and the remote UE from the serving access network to the target access network; and
in response to receiving the handover message from the UE, initiating operations to handover the communication session, wherein, after handover, the communication session between the UE and the remote UE is provided via a new serving leg, wherein the new serving leg comprises a new media path between the network node and the UE, and wherein the new serving leg is provided, at least in part, by a connection between the target access network and the UE.

US Pat. No. 10,320,655

METHODS AND APPARATUS FOR DETERMINING AND USING SDN LINK AND/OR PATH STATUS

Ribbon Communications Ope...

1. A method of operating a software defined networking (SDN) controller in a software defined network, said method comprising:receiving, at a receiver of the SDN controller via said software defined network, application level metrics corresponding to a data communications session flow;
determining, by the SDN controller, a status of a communications path between two Internet Protocol addresses based on the received application level metrics;
receiving, at the SDN controller from a first device via said software defined network subsequent to receiving said application level metrics, a request for a data flow communications path between said two Internet Protocol addresses, one of said two Internet Protocol addresses corresponding to said first device;
determining said data flow communications path between said two Internet Protocol addresses based on said application level metrics;
transmitting, from a transmitter of the SDN controller, in response to said request for a data flow communications path the determined data flow communications path between said two Internet Protocol addresses; and
wherein said determining said data flow communications path between said two Internet Protocol addresses based on said application level metrics includes determining which links and devices in the software defined network need to be traversed for optimum network utilization or quality.

US Pat. No. 10,679,636

METHODS AND APPARATUS FOR SUPPORTING ENCODING, DECODING AND/OR TRANSCODING OF CONTENT STREAMS IN A COMMUNICATION SYSTEM

Ribbon Communications Ope...

1. A communications method, the method comprising:receiving, at a central processing unit (CPU), multiple data units corresponding to a first frame time for each of first through Nth content streams, N being a positive integer number greater than 1;
operating the central processing unit to sequentially process at least some of said multiple data units corresponding to different content streams of the first through Nth content streams and the first frame time;
supplying a first set of data units, from the multiple data units corresponding to the first frame time, to a graphics processing unit, each data unit of the first set of data units corresponding to a different one of the first through Nth content streams;
supplying a second set of data units, from the multiple data units corresponding to the first frame time, to the graphics processing unit, each data unit of the second set of data units corresponding to a different one of the first through Nth content streams;
operating said graphics processing unit to perform sequential parallel processing on different sets of data units from the multiple data units corresponding to the first frame time, each sequentially processed set of data units including one data unit from each of a first plurality of different content streams, said first plurality of different content streams consisting of the first through Nth content streams, said operating said graphics processing unit to perform sequential parallel processing on different sets of data units including operating a first set of cores of the graphics processing unit, in parallel, to perform first processing on the first set of data units, said first processing including operating each core of the first set of cores to perform a first operation on a data unit corresponding to a single one of the first plurality of content streams, each core in the first set of cores processing a data unit of a different content stream, said first processing generating a first set of generated data units; and
storing the first set of generated data units in a graphics processing unit (GPU) output buffer.

US Pat. No. 10,469,530

COMMUNICATIONS METHODS, SYSTEMS AND APPARATUS FOR PROTECTING AGAINST DENIAL OF SERVICE ATTACKS

Ribbon Communications Ope...

1. A communications method, the method comprising:operating a Session Border Controller which receives packets of a first encrypted packet flow to monitor for a condition indicating an attack, each of said encrypted packets of the first encrypted packet flow including a sequence number transmitted in the clear;
in response to detecting a condition indicating an attack, operating the Session Border Controller to switch from a monitoring mode to an attack mitigation mode of operation with respect to said first encrypted packet flow, said switching from the monitoring mode of operation to the attack mitigation mode of operation including:
sending control information to a switch through which packets of the first packet flow pass or to a control device which controls said switch, said control information including a mask corresponding to a range of expected packet values.

US Pat. No. 10,469,542

COMMUNICATIONS METHODS, APPARATUS AND SYSTEMS TO PROVIDE OPTIMAL MEDIA ROUTING

Ribbon Communications Ope...

1. A communications method comprising:receiving, at a first session border controller, a first session initiation request for a communications session between a first device and a second device, said first session initiation request being sent by a second session border controller on behalf of the first device and traversing a portion of a signaling path extending between the first device and the first session border controller before being received at said first session border controller, said portion of the signaling path including one or more intermediary devices, said communications session including one or more media streams;
determining, by the first session border controller, whether at least one of said one or more media streams should bypass one or more of the intermediary devices; and
in response to determining that at least one of said one or more media streams should bypass one or more of the intermediary devices, operating the first session border controller to generate a first Session Description Protocol (SDP) answer in response to a first SDP offer included in said received first session initiation request, said first SDP answer including at least one of: i) all SDP media descriptor transport addresses being set to zero in the media descriptor fields of the first SDP answer, ii) all SDP media stream connection values being set to 0.0.0.0 and at least one media descriptor transport address being non-zero, or iii) header information or SDP information indicating that at least one intermediary device should be bypassed for the one or more media streams; and
wherein operating the first session border controller to generate the first SDP answer in response to the first SDP offer includes:
extracting one or more pieces of information from a second SDP answer received from said second device in response to a second SDP offer sent from said first session border controller to said second device on behalf of said first device, said one or more pieces of extracted information including a media descriptor transport address of the second device for use by one of the one or more media streams of said communications session; and
placing the media descriptor transport address of the second device in i) a proprietary header field which is different from standardized media descriptor fields included in said first SDP answer or ii) a proprietary SDP attribute field of the first SDP answer which is different from standardized media descriptor fields in said first SDP answer.

US Pat. No. 10,397,316

METHODS AND APPARATUS FOR LOAD BALANCING IN SDN NETWORKS

Ribbon Communications Ope...

1. A method of assigning responsibility for processing of Session Initiation Protocol (SIP) messages addressed to a shared Session Border Controller (SBC) IP ingress address, the method comprising:operating a SBC cluster leader to receive a first SIP invite message and assign responsibility for processing the first SIP invite message to a first SBC in a plurality of SBCs, said plurality of SBCs being a cluster of SBCs, said SBC cluster leader being the leader of the cluster of SBCs, said first SIP invite message including a first SIP packet header including a first source IP address; and
operating the first SBC to initiate installation of a first flow table entry into Software Defined Networking (SDN) switches used to control packet routing in an SDN network, said SDN switches including at least a first SDN switch, said first flow table entry controlling SDN switches into which the first flow table entry is installed to replace a destination IP address in received packets which satisfy matching criteria of the first flow table entry with a first SBC IP ingress address of the first SBC and to route received packets matching the criteria of the first flow table entry based on the first SBC IP ingress address.

US Pat. No. 10,341,932

METHODS, APPARATUS AND SYSTEMS FOR DETERMINING WHETHER TO INCLUDE AN ACCESS TRANSFER GATEWAY IN A CALL FLOW

Ribbon Communications Ope...

11. A method comprising:receiving, at a first processing node, a call setup message from a first user device to a second user device, said first processing node being a Session Border Controller;
making a first determination based at least in part on a geographical location indicator corresponding to the first user device whether to introduce into a call path between the first user device and the second user device an Access Transfer Gateway (ATGW);
controlling, by the first processing node, the introduction of the ATGW into the call path based upon the first determination, said first user device being a mobile device operating in a 4G network, said first determination being made by a fallback determination device, and said call setup message being a Session Initiation Protocol (SIP) INVITE message including a 4G network cell id corresponding to a 4G network cell in which the first user device is currently located;
transmitting, from said Session Border Controller to said fallback determination device, a query message including the 4G network cell id corresponding to the 4G network cell in which the first user device is currently located;
receiving, by said Session Border Controller, a response message in response to said query message from said fallback determination device indicating the likelihood that said first user device will be required to switch from operating in said 4G network to operating in a 3G network during the duration of a call to be setup in response to said call setup message;
making a determination, by said Session Border Controller, of whether media for said call is to be anchored in the Access Transfer Gateway (ATGW) using information contained in said response message; and
when an Internet Protocol address corresponding to the first user device changes from a first Internet Protocol address to a second Internet Protocol address during said call established in response to the call setup message transmitting the second Internet Protocol address only to the ATGW and not to the second user device.

US Pat. No. 10,306,000

METHODS AND APPARATUS FOR GENERATING, AGGREGATING AND/OR DISTRIBUTING PRESENCE INFORMATION

Ribbon Communications Ope...

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.

US Pat. No. 10,715,414

NETWORK COMMUNICATION METHODS AND APPARATUS

Ribbon Communications Ope...

1. A method of controlling communications in a network, the method comprising:storing data transfer topology information indicating at least physical topology among data transfer devices;
identifying data transfer device characteristics of the data transfer devices in the network, said data transfer device characteristics including information about which of the data transfer devices can interoperate, along with their data transfer device data rates, and latency;
storing application metadata extracted from a plurality of application components;
identifying a list of problem paths in the network based on the application metadata;
generating, in response to a request for connectivity from a first application component, a plurality of potential data transfer paths to be used for communicating data corresponding to the first application component based on the data transfer topology information, the data transfer device characteristics of the data transfer devices, and the identified list of problem paths;
making a selection based on one or more simulations as to which of the plurality of potential data transfer paths to use for communicating data corresponding to the first application component;
using the selected data transfer path to communicate data corresponding to the first application component; and
wherein at least some of the data transfer devices correspond to different technologies used in a mixed technology network.

US Pat. No. 10,637,929

METHODS AND APPARATUS FOR STORING AND/OR RETRIEVING SESSION STATE INFORMATION

RIBBON COMMUNICATIONS OPE...

1. A communications method, comprising:receiving, at a first communications server, encrypted session state information from a first client communications device, said encrypted session state information being received at a point in time during which said first client communications device has a communications session with a second client communications device, said encrypted session state information corresponding to an ongoing communications session and having been encrypted using a shared encryption key by a second communications server, said shared encryption key being unknown to said first and second client communications devices;
decrypting, at said first communications server, said encrypted session state information to recover decrypted session state information corresponding to said ongoing communications session;
using, at said first communications server, said decrypted session state information to perform a session control function corresponding to said ongoing communications session; and
wherein prior to said first communications server receiving said encrypted session state information, said communications method includes:
operating a second communications server to establish said communications session with said second client communications device in response to a session control signal received from said first client communications device;
operating said second communications server to encrypt said session state information using the shared encryption key; and
operating said second communications server to send said encrypted session state information to said first client communications device.

US Pat. No. 10,607,623

METHODS AND APPARATUS FOR SUPPORTING COMMUNICATION OF CONTENT STREAMS USING EFFICIENT MEMORY ORGANIZATION

Ribbon Communications Ope...

1. A communications method, the method comprising:receiving at a graphics processing unit (GPU), data corresponding to a plurality of communications channels, said data including a first set of data corresponding to a first channel and a second set of data corresponding to a second channel;
storing in memory locations of a context buffer included in the GPU, in an interleaved format, context values corresponding to different communications channels, said interleaved context values including a first context value corresponding to the first communications channel interleaved with a first context value corresponding to the second communications channel followed by a second context value corresponding to the first communications channel interleaved with a second context value corresponding to the second communications channel;
operating cores of said GPU to perform processing operations on data corresponding to the plurality of communications channels, said operating including operating a first core to use said first context value corresponding to the first communications channel to perform a first filtering operation on at least some of said first data corresponding to the first channel and operating a second core to use said first context value corresponding to the second communications channel to perform a first filtering operation on at least some of said second set of data corresponding to the second channel; and
outputting from said GPU at least some data generated by said processing operations.

US Pat. No. 10,587,502

COMMUNICATIONS METHODS, APPARATUS AND SYSTEMS FOR PROVIDING SCALABLE MEDIA SERVICES IN SDN SYSTEMS

Ribbon Communications Ope...

1. A method of operating a session border controller in a software defined network, said method comprising:receiving, by the session border controller, first signaling information for establishing a first media session, said first media session including a first media packet flow that passes through a first network programmable switch of the software defined network;
generating, by the session border controller, instructions to implement a media micro flow service on the first network programmable switch of the software defined network through which the first media packet flow passes; and
sending, from the session border controller, said instructions to a software defined network (SDN) controller which controls said first network programmable switch.

US Pat. No. 10,419,544

METHODS AND APPARATUS FOR MANAGING THE USE OF IP ADDRESSES

Ribbon Communications Ope...

1. A method of operating a communication system, the method comprising:receiving, at a real time communications entity, a first media session offer from a first device, said first media session offer being for a first media session;
transmitting, from the real time communications entity to a Network Address and Port Translation (NAPT) entity, a request signal to allocate a public Internet Protocol (IP) address and port number pair corresponding to an interface on the NAPT entity for the first media session;
determining, at the real time communications entity, a remote IP address and port number pair corresponding to an interface on the first device to be used for communicating media of the first media session;
transmitting, from the real time communications entity to the NAPT entity, a signal identifying the determined remote IP address and port number pair; and
releasing, at the NAPT entity, an allocated public IP address and port number pair corresponding to an interface on the NAPT entity for the first media session in response to receiving the signal identifying the determined remote IP address and port number pair corresponding to the interface on the first device to be used for communicating media of the first media session from the real time communications entity.

US Pat. No. 10,567,426

METHODS AND APPARATUS FOR DETECTING AND/OR DEALING WITH DENIAL OF SERVICE ATTACKS

Ribbon Communications Ope...

1. A semiconductor chip comprising:receiver circuitry that receives a plurality of packets;
a plurality of packet processing cores;
packet value generation circuitry that generates for each received packet of the plurality of received packets, a packet value from packet header information included in the received packet to which the generated value corresponds, said generated packet value having fewer bits than said packet header information from which it is generated, said generated packet value being a hash value or CRC value generated from packet header information that uniquely identifies a packet flow and a source of the packet flow to which the packet belongs;
time stamp generation circuitry that generates for each received packet of the plurality of received packets, a time value corresponding to the time the packet was received by the receiver circuitry;
a memory for storing the generated packet values and generated time values corresponding to each received packet of the plurality of received packets;
congestion monitoring circuitry that determines a level of packet processing congestion;
a processor configured to control denial of service protection circuitry to switch between operating in a normal mode of operation or a congestion mode of operation based on the level of packet processing congestion determined by said congestion monitoring circuitry, wherein operating in said normal mode of operation includes passing received packets to a first packet processing core of the plurality of packet processing cores without regard to said packet value generated from the packets being passed and wherein operating in said congestion mode of operation is performed when said monitoring indicates a level of packet processing congestion over a threshold, said operating in said congestion mode of operation including dropping received packets based on both: (i) the packet value generated from the packets to be dropped matching at least one previously generated packet value stored in said memory and (ii) the packets to be dropped generated received time value, said processor controlling said denial of service protection circuitry to operate in said normal mode of operation when it is not operating in said congestion mode of operation; and
wherein the threshold is based upon a depth of an input packet queue to the denial of service protection circuitry or a depth of an input packet queue to one or more of said plurality of packet processing cores, said plurality of packet processing cores being downstream from said denial of service protection circuitry.

US Pat. No. 10,742,608

COMMUNICATIONS METHODS, SYSTEMS AND APPARATUS FOR PACKET POLICING

Ribbon Communications Ope...

1. A communications method, the method comprising:receiving, at a session border controller (SBC), a first Session Initiation Protocol (SIP) INVITE request message;
determining from the first SIP INVITE request message a source Internet Protocol (IP) address included in the first SIP INVITE request message;
making a decision, at the session border controller, as to whether the first SIP INVITE request message originated from a user device coupled to the session border controller via an Integrated Access Device (IAD) or via an Internet Protocol-Private Branch Exchange (IP-PBX) device;
generating, at the session border controller, a packet flow fillrate based on said decision as to whether the first SIP INVITE request message originated from a user device coupled to the session border controller via an Integrated Access Device or via an Internet Protocol-Private Branch Exchange device;
wherein said step of making a decision further includes determining that said first SIP INVITE request message originated from a user device coupled to the session border controller via an IP-PBX device if a total number of microflows with the determined source IP address currently active at the session border controller is less than an Integrated Access Device threshold value; and
wherein the session border controller implements a token bucket policer with a fillrate of zero to implement packet flow restrictions of packets including a source Internet Protocol address and port number pair matching a source Internet Protocol address and port number pair included in said first SIP INVITE request message until said first SIP INVITE request message has been successfully authenticated.

US Pat. No. 10,484,447

METHODS AND APPARATUS FOR COMMUNICATING DELAY INFORMATION AND MINIMIZING DELAYS

Ribbon Communications Ope...

1. A method of operating a playback device, the method comprising:receiving, at interface circuitry of the playback device, a first content stream which was subject to transcoding by a first transcoder device prior to receipt, said first content stream including first content;
receiving, at the interface circuitry of the playback device, a second content stream, said second content stream including second content, said first content and said second content being different, said first content being video content and said second content being audio content;
receiving, at the interface circuitry of the playback device, from the first transcoder device information indicating a first transcoding delay introduced into said first content stream prior to receipt by the playback device;
generating, at the playback device, a stream delay difference between said first content stream and said second content stream based on said received first transcoding delay; and
delaying, by the playback device, the playback of the second content stream by an amount equal to the generated stream delay difference wherein said playback device outputs synchronized video and audio content;
wherein generating, at the playback device, a stream delay difference between said first content stream and said second content stream includes:
operating circuitry included in said playback device to generate, using at least the first transcoding delay, a difference between latency corresponding to said first content stream and latency corresponding to said second content stream, said generated difference being said stream delay difference;
wherein said operating circuitry in said playback device to generate a difference between latency corresponding to said first content stream and latency corresponding to the second content stream includes:
generating a first aggregate stream latency from the received first transcoding delay and one or more additional latencies corresponding to said first content stream, said one or more additional latencies including a third transcoding delay introduced into the first content stream by an additional transcoder device located between the source of the first content stream and the first transcoder device;
generating a second aggregate stream latency from a plurality of latencies corresponding to said second content stream; and
subtracting said second aggregate stream latency from said first aggregate stream latency when said first aggregate stream latency is larger than said second aggregate stream latency.

US Pat. No. 10,666,798

METHODS AND APPARATUS FOR DETECTION AND MITIGATION OF ROBOCALLS

Ribbon Communications Ope...

1. A method of processing calls to a customer, the method comprising:processing call records of said customer to identify calls which are possibly from a robocaller, based on at least one of i) a call characteristic or ii) a call pattern, said call pattern including at least one of an error rate, call rate, call diversity or start-to-start time between adjacent calls from a call source, each identified call having a calling party number;
storing calling party source identification information of the identified calls in a suspect robocall database;
processing an incoming call, said processing including comparing calling party source identification information of the incoming call to the calling party source identification information in the suspect robocall database; and
completing the incoming call in a standard manner if the incoming calling party source identification information is not in the suspect robocall database; and
handling the incoming call as a suspect robocall if the incoming calling party source identification information is in the suspect robocall database.

US Pat. No. 10,645,216

METHODS AND APPARATUS FOR IDENTIFICATION AND OPTIMIZATION OF ARTIFICIAL INTELLIGENCE CALLS

Ribbon Communications Ope...

1. A communications method comprising:receiving a first call at a first device, said first device including a first artificial intelligence system;
determining, by the first device, whether or not said first call originated from a second artificial intelligence system; and
when said first call is determined to have originated from a second artificial intelligence system, performing, by said first device, one or more artificial intelligence call handling operations,
said one or more artificial intelligence call handling operations including one or more of the following:
directing said second artificial intelligence system that originated said first call to move to a Machine to Machine (M:M) form of communication by transmitting contact information for another machine system to the second artificial intelligence system which originated the first call via a media path or a signaling path of the first call;
advertising the capabilities offered by said M:M form of communication with said another machine system via information transmitted to the second artificial intelligence system which originated the first call, said information being transmitted via the media path or signaling path of the first call.

US Pat. No. 10,523,733

HIGHLY SCALABLE METHODS AND APPARATUS FOR BALANCING SIP LOADS ACROSS A CLUSTER OF SIP PROCESSING ENTITIES

Ribbon Communications Ope...

1. A method of load balancing Session Initiation Protocol session transactions among a self-organized cluster of Session Initiation Protocol (SIP) processing devices, the method comprising:dynamically forming a load balancing cluster of SIP processing devices from a plurality of SIP processing devices, said cluster of SIP processing devices being self-organized;
dynamically building a communications network, by said cluster of SIP processing devices, for distributing session transaction load state information among the SIP processing devices in the cluster;
each of the SIP processing devices of the cluster asynchronously determining session transaction load state information on a recurring basis reflecting its current session transaction load state; and
performing, by the SIP processing devices of the cluster, a second level load balancing of session transactions.

US Pat. No. 10,430,607

USE OF AKA METHODS AND PROCEDURES FOR AUTHENTICATION OF SUBSCRIBERS WITHOUT ACCESS TO SIM CREDENTIALS

Ribbon Communications Ope...

1. A method comprising:storing a first instance of an alternate secret key, used in authentication of a third party application accessing a service over a network, in a secure network in association with a user device hosting the third party application, wherein an instance of a particular secret key to which the third party application is forbidden access to is also stored in the secure network in association with the user device;
receiving an authentication request from the user device via the network for authenticating the third party application;
determining that an authentication process implemented in response to the authentication request is to use the alternate secret key rather than the particular secret key;
performing authentication processing for the third party application using the first instance of the alternate secret key in response to the determining;
wherein said determining that an authentication process implemented in response to the authentication request is to use the alternate secret key rather than the particular secret key includes: detecting, by a security element or a backend authentication system of the secure network, whether a native application or a third party application is being authenticated based upon: (i) a variant of a username portion of a Network Address Identifier (NAI) included in the authentication request or (ii) a variant of a realm portion of the Network Address Identifier included in the authentication request; and
wherein the first instance of the alternative secret key is stored in a user database (UDB) of the secure network, and wherein a second instance of the alternative secret key is stored in a configuration database for the third party application in the user device.