Session initiated protocol (SIP) session establishment with a home subscriber server (HSS) outage

Systems may establish a Session Initiated Protocol (SIP) session during a Home Subscriber Server (HSS) outage. The systems may include Network Functions (NF) that perform steps for establishing the SIP session and/or bypassing the HSS experiencing the outage. For instance, an Interrogating (I)-Call Session Control Function (CSCF) may modify a terminating message received from a User Equipment (UE) to generate a modified terminating message, and send one or more instances (e.g., forks) of the modified terminating message to one or more candidate Serving (S)-CSCFs. A particular S-CSCF of the candidate S-CSCFs may comprise the registered S-CSCF and may respond to an instance of the modified terminating message. In some embodiments, the I-CSCF may establish the SIP session by sending an instance of the modified terminating message to a designated S-CSCF. The designated S-CSCF may determine which candidate S-CSCF comprises the registered S-CSCF, for instance, by querying the candidate S-CSCFs.

BACKGROUND

Telecommunication service providers operating 3rd Generation Partnership Program (3GPP) networks use multiple nodes for establishing and managing communication channels. In some instances, an outage at a node may result in failure for a device attempting to establish a communication channel via the node experiencing the outage. The device may be unable to establish a communication channel or receive other services over the network until the outage is resolved at the node, or until the node communications are redirected to a substitute node. In some instances, the outage may occur for several minutes as the network operators attempt to resolve the outage or reroute traffic.

Node outages are increasingly difficult to manage as new network generations are integrated into legacy systems, and new services and types of devices are added to the networks. Network providers may invest in techniques for overcoming outages and operating more reliable networks than competitors.

DETAILED DESCRIPTION

Systems, methods, and apparatuses (hereinafter the “system”) disclosed herein may perform techniques for establishing a communication session (e.g., the SIP session), for instance, via one or more Network Functions (NF)s of an IP Multimedia Subsystem (IMS) Core Network (e.g., a Long-Term Evolution (LTE) network). The system may include a Home Subscriber Server (HSS) outage at on HSS. The system may determine an occurrence of the HSS outage during a process for establishing the SIP session. The HSS may be unavailable to provide the I-CSCF with a Serving (S)-CSCF identifier corresponding to a registered S-CSCF to which a requesting User Equipment (UE) is registered. Upon determining the occurrence of the HSS outage, the system may perform steps for establishing the SIP session and/or bypassing the HSS.

In some embodiments, the I-CSCF may establish the SIP session by modifying a terminating (e.g., incoming) message received from the UE to generate a modified terminating message, and sending one or more instances (e.g., forks) of the modified terminating message to one or more candidate S-CSCFs. A particular S-CSCF of the candidate S-CSCFs may comprise the registered S-CSCF (e.g., the particular S-CSCF to which the UE registered). The registered S-CSCF may send a response to the instance of the modified terminating message, the response causing the SIP session to be established. One or more candidate S-CSCFs that receive one or more instances of the modified terminating message, but do not comprise the registered S-CSCF, may perform steps including ignoring the one or more instances of the modified terminating message based at least partly on determining a modified portion (e.g., a modified header or a modified body) of the modified terminating message.

In some embodiments, the I-CSCF may establish the SIP session by sending a first instance of the modified terminating message to a designated S-CSCF. The I-CSCF may determine or select the designated S-CSCF based on an S-CSCF identifier that may be stored at the I-CSCF indicating the designated S-CSCF. In some examples, alternatively, the I-CSCF may determine or select the designated S-CSCF based on a randomized selection process performed by the I-CSCF and/or one or more other NFs. In response to receiving the modified terminating message from the I-CSCF, the designated S-CSCF may determine which candidate S-CSCF comprises the registered S-CSCF. For instance, the designated S-CSCF may query one or more candidate S-CSCFs (e.g., to receive information about UEs registered to the one or more candidate S-CSCFs) and/or the designated S-CSCF may query an external data storage to determine which of the one or more candidate S-CSCFs comprises the registered S-CSCF. In some examples, the registered S-CSCF may send a second instance of the modified terminating message to a Telephony Application Server (TAS), for instance, to cause the TAS to determine the occurrence of the HSS outage and/or to cause the TAS to refrain from sending a message to the HSS experiencing the HSS outage.

In some examples, the systems and methods discussed herein may overcome the HSS outage, for instance, by bypassing the HSS experiencing the HSS outage. The systems and methods may establish the SIP session during the HSS outage, improving network reliability. Establishing the SIP session during the HSS outage may decrease network downtime, increase a traffic flow capacity of the network, and/or reduce computing resources of NFs for managing HSS outages (e.g., sending error messages, orchestrating multiple connection attempts, rerouting messages to other HSSs), such as reducing a processing requirement or a memory storage requirement of the NFs. Accordingly, the systems and methods discussed herein may result in technical improvements to a telecommunications network and the computing devices that comprise the telecommunications network.

FIG. 1depicts an example system100for establishing a SIP session. The system100may comprise a UE102and a plurality of NFs for receiving messages from the UE102and performing steps for establishing the SIP session for the UE102. For instance, the system100may comprise one or more of a P-CSCF104, an I-CSCF106, a plurality of candidate S-CSCFs108, an HSS110, and/or a TAS112, as discussed in greater detail below.

In some examples, the system100may comprise the UE102. The UE102may comprise a device associated with a client, end-user, calling party, and/or a terminating device, such as a SIP-enabled handset. The UE102may comprise a computing device that communicates with other components (e.g., NFs) of the system100, for instance, over a wired or wireless network. The UE102may comprise a mobile phone (e.g., a smart phone), a tablet computer, a laptop computer, a portable digital assistant (PDA), a wearable computer (e.g., electronic/smart glasses, a smart watch, fitness trackers, etc.), an internet-of-things (IoT) device, an in-vehicle (e.g., in-car) computer, and/or any similar mobile device, as well as non-mobile computing devices including, without limitation, a television (smart television), set-top-box (STB), desktop computer, and the like.

In some examples, the system100may comprise the P-CSCF104. The P-CSCF104may comprise an access node for providing an IMS network entry point for the UE102. The P-CSCF104may perform one or more validation, security, and/or authentication operations in response to receiving a terminating message from the UE102. The P-CSCF104may route the terminating message to the I-CSCF106.

In some examples, the system100may comprise the I-CSCF106. The I-CSCF106may perform one or more operations for interrogating the HSS110to determine a S-CSCF identifier corresponding to a registered S-CSCF114. In other words, the I-CSCF106may determine, via one or more messages sent to and from the HSS110, to which of the plurality of candidate S-CSCFs108the UE102is registered (e.g., from a previously-performed registration process). The I-CSCF106may send or attempt to send one or more messages to the HSS110via a DIAMETER Cx interface and/or a Location Information Request (LIR) message. Determining the occurrence of the HSS outage may comprise determining an outage at the DIAMETER Cx interface.

In some examples, the HSS outage may occur at the HSS110before and/or while the I-CSCF106attempts to interrogate the HSS110. Upon determining the occurrence of the HSS outage at the HSS110, the I-CSCF106may perform one or more steps for establishing the SIP session by circumventing or bypassing the HSS110experiencing the outage. The I-CSCF106may establish the SIP session by modifying the terminating message to generate a modified terminating message. The I-CSCF106may determine the plurality of candidate S-CSCFs108from an S-CSCF identifier data table116or other data structure storing S-CSCF identifiers corresponding to the plurality of candidate S-CSCFs108and/or the registered S-CSCF114. The I-CSCF106may store the S-CSCF identifier data table116and/or may access the S-CSCF identifier data table116. The I-CSCF106may send multiple forked instances of the modified terminating message to the plurality of candidate S-CSCFs108. For instance, the I-CSCF106may send a first instance of the modified terminating message to a first candidate S-CSCF118, a second instance of the modified terminating message to a second candidate S-CSCF120, and/or any number of instances of the modified terminating message to any number of the plurality of candidate S-CSCFs108. The registered S-CSCF114may receive the modified terminating message and the SIP session may be established. Systems and methods for establishing the SIP session via the S-CSCF identifier data table116and/or sending forked instances of the modified message are discussed in greater detail below regardingFIGS. 2 and 4.

In some instances, the I-CSCF106may establish the SIP session by sending the first instance of the modified terminating message to a designated S-CSCF122. The designated S-CSCF122may determine the occurrence of the HSS outage based on receiving the modified terminating message (or via communications with other NFs) and may determine the registered S-CSCF114from the plurality of candidate S-CSCFs108. For instance, the designated S-CSCF122may send one or more queries requesting information from the plurality of candidate S-CSCFs108until the registered S-CSCF114is identified (e.g., by matching a first UE identifier and/or a first S-CSCF identifier from the modified terminating message with a second UE identifier and/or a second S-CSCF identifier received at the designated S-CSCF122from the plurality of candidate S-CSCFs. The designated S-CSCF122may, additionally or alternatively, determine the registered S-CSCF114via a query to an external storage device storing information indicating information about the UE102and/or the registered S-CSCF114. Systems and methods for establishing the SIP session via the designated S-CSCF122are discussed in greater detail below regardingFIGS. 3 and 5.

In some examples, the I-CSCF106and/or other NFs (e.g., the P-CSCF104, the plurality of candidate S-CSCFs108including the registered S-CSCF114, the first candidate S-CSCF118, the second candidate S-CSCF120, and the designated S-CSCF122, the HSS110, and/or the TAS112) may separately, or in combination, comprise one or more processors and one or more memory storage media that may store computer-readable instructions that, when executed by the one or more processors, cause the I-CSCF106, the other NF, and/or the system100to perform the steps, acts, and operations discussed herein.

In some instances, the I-CSCF106may comprise the one or more processors, such as a microprocessor, a microcomputer, a microcontroller, a digital signal processor, a central processing unit (CPU), a graphics processing unit (GPU), and/or combinations thereof, etc. Among other capabilities, the one or more processors may operate to fetch and execute the computer-readable instructions (e.g., object code) stored in the one or more memory storage device202according to the operations disclosed herein.

In some instances, the I-CSCF106may comprise the one or more memory storage media, such as non-transitory computer-readable media including, but not limited to, phase change memory (PCM), static random-access memory (SRAM), dynamic random-access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory or other memory technology, compact disc ROM (CD-ROM), digital versatile discs (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, combinations thereof, or any other medium that can be used to store information for access by an electronic computing device. Databases discussed herein, for instance stored at the one or more memory storage media, may include one or more of a comma delimited list, a spreadsheet, an array, a NoSQL data structure, a hash-based data structure, an object-based data structure, or any other data type, data structure, and/or data system for storing retrievable data.

In some examples, the system100may comprise the HSS110. The HSS110, when operating functionally and/or without the HSS outage, may store data indicating user profiles, such as a data structure storing information indicating subscriber data, service data, registration data, authentication data, and/or other data sent and retrieved at the HSS110by other control plane NFs. The HSS110may receive a request from the I-CSCF106for the S-CSCF identifier corresponding to the registered S-CSCF114(which may be stored at the HSS110) and may provide or attempt to provide such information to the I-CSCF106. However, in some instances, the HSS outage may occur at the HSS110. For instance, the HSS110may fail to function properly, fail to receive the request, fail to receive or provide power to one or more HSS components, or may otherwise experience a hardware or software malfunction preventing the HSS110from sending the S-CSCF identifier corresponding to the registered S-CSCF114to the I-CSCF106. Determining the HSS outage may comprise determining that the DIAMETER link between the HSS110and the I-CSCF106is down or unavailable.

In some examples, the system100may comprise the TAS112. The TAS112may comprise an application server for providing telephony operations for the IMS network, such as one or more services related to call waiting, call holding, call forwarding, call transferring, call blocking, malicious caller identification, announcements, lawful interception, and/or conference calls. In some instances, the TAS112may communicate with the one or more candidate S-CSCFs108, the registered S-CSCF114, the HSS, any other NFs, and/or combinations thereof. In some instances, the system100may comprise another application server, such as a video application server, and/or a multimedia application server.

FIG. 2depicts an example system200for establishing the SIP session. The system200may be similar to, identical to, or may form a portion of any of the systems discussed herein. The system200may perform techniques and methods to establish the SIP session via the I-CSCF106that communicates with, accesses, and/or stores the S-CSCF identifier data table116.

In some examples, the system200may comprise the I-CSCF106, which may include the S-CSCF identifier data table116and/or an S-CSCF candidate detector202, which may be stored at a database associated with the I-CSCF106.

In some examples, the S-CSCF candidate detector202may receive and/or determine data or information related to S-CSCFs on the network, such as the plurality of candidate S-CSCFs108and/or one or more non-candidate S-CSCFs204. The S-CSCF candidate detector202may determine, based on the information, whether a particular S-CSCF (e.g., the first candidate S-CSCF118, the second S-CSCF120, the registered S-CSCF114, etc.) qualifies as one of the candidate S-CSCFs108or one of the non-candidate S-CSCFs204. For instance, the S-CSCF candidate detector202may determine whether the information related to a particular S-CSCF satisfies qualification parameters. The qualification parameters may comprise one or more thresholds (a model date, a install date, a processing capability value, a memory capacity value, a current traffic flow value, a maximum traffic capacity value, a current latency value, a maximum latency value, etc.), categories (e.g., a geographic region, a model, a device type, a manufacturer) binary “Y/N” or “0/1” characteristics (e.g., “active/inactive,” “previously-accessed” or “not previously-accessed, etc.), and/or other characteristics (e.g., a security setting, an authentication posture, a power setting, etc.). In some examples, the information related to S-CSCFs, which may be compared to the qualification parameters, may be stored at the S-CSCF identifier data table116, for instance, with an association to one or more S-CSCF identifier206(e.g., a particular S-CSCF identifier such as a hosting site identifier value) that may be received in a message with the information related to the S-CSCF.

In some examples, the I-CSCF106may include the S-CSCF identifier data table116. The S-CSCF identifier data table116may store one or more S-CSCF identifiers206that may correspond to the one or more candidate S-CSCFs108. In some examples, the S-CSCF identifier data table116may store one or more indicators that particular one or more UEs102are registered to particular one or more S-CSCFs, such as a first indicator that a first UE is registered to the first candidate S-CSCF118, a second indicator that a second UE is registered to the second candidate S-CSCF120, etc. In other words, the S-CSCF identifier data table116may store a list indicating which of the candidate S-CSCFs108comprises the registered S-CSCF114for the UE102. Storing information associated with a particular S-CSCF identifier206at the S-CSCF identifier data table116may be based at least partly on a determination that the S-CSCF identifier206corresponds to a candidate S-CSCF108and/or not a non-candidate S-CSCF204(e.g., via the S-CSCF candidate detector202).

In some examples, the S-CSCF identifier206may comprise a Fully Qualified Domain Name (FQDN), which may indicate a particular IP address and/or a particular port number associated with the registered S-CSCF114. In some instances, the system200may add and/or remove one or more FQDNs from the S-CSCF identifier data table116, for instance, based on information received at the I-CSCF106indicating a status and/or geographic information of one or more S-CSCFs corresponding to the one or more FQDNs (e.g., via the S-CSCF candidate detector202).

In some examples, the S-CSCF identifier data table116may store the S-CSCF identifier206with an association to additional information for determining that the S-CSCF identifier206corresponds to the registered S-CSCF114. For instance, the S-CSCF identifier data table116may store one or more of a routing number208, rates or traffic information210, source, destination, or port information212, an application identifier214, an update archive216, an owner identifier218, a network security feature identifier220, and/or combinations thereof. In some examples, the I-CSCF106may receive and/or store the information at the S-CSCF identifier data table116according to periodic updates from other NFs, and/or during an initial registration process of the registered S-CSCF114. The I-CSCF106may analyze the information stored at the S-CSCF identifier data table116to determine the S-CSCF identifier206corresponding to the terminating message sent from the UE102.

In some instances, the I-CSCF106may generate one or more lists of the one or more candidate S-CSCFs108to store at the S-CSCF identifier data table116. For instance, the I-CSCF106may generate a list of a sub-group of the one or more candidate S-CSCFs108based on one or more physical or geographical locations associated with sub-group. The one or more physical or geographical locations may be within a predetermined distance of a location associated with the UE (e.g., which may be determined from the terminating message). Accordingly, the I-CSCF106may determine the registered S-CSCF114from the list of the sub-group which may, in some instances, reduce a processing requirement of the system200by reducing a number of S-CSCF identifiers206to be analyzed.

In some examples, the I-CSCF106may determine the S-CSCF identifier206corresponding to the registered S-CSCF114from the S-CSCF identifier data table116. Upon determining the S-CSCF identifier206corresponding to the registered S-CSCF114, the system may (i) modify the terminating to generate the modified terminating message (e.g., by modifying a header of the terminating message); (ii) and/or send the modified terminating message to the registered S-CSCF114. As such, the system200may establish the SIP session for the UE102and the registered S-CSCF114by accessing, receiving, or otherwise determining information stored at the S-CSCF identifier data table116of the I-CSCF106.

FIG. 3depicts an example system300for establishing the SIP session. The system300may be similar to, identical to, or may form a portion of any of the systems discussed herein. The system300may perform methods or techniques to establish the SIP session by determining the registered S-CSCF114with the designated S-CSCF122.

In some examples, the system300may comprise the I-CSCF106which may comprise an originating I-CSCF302, a terminating I-CSCF304, and/or the originating I-CSCF302in communication with terminating I-CSCF304. The originating I-CSCF302may receive the terminating message from the P-CSCF104and may forward the terminating message to the terminating I-CSCF304. Any of the operations or steps discussed herein as being performed by the I-CSCF106may be performed, more specifically, by the terminating I-CSCF304.

In some examples, the originating I-CSCF302and the terminating I-CSCF304may communicate directly, for instance, where the originating I-CSCF302and the terminating I-CSCF304comprise part of a same network provided by a single service provider. In some examples, the originating I-CSCF302may comprise part of a first network of a first network provider and the terminating I-CSCF304may comprise part of a second network that is a different network than the first network. In such examples, an Interconnect-Station Border Controller (I-SBC)306may receive the terminating message from the originating I-CSCF302. The I-SBC306may perform one or more operations related to formatting the terminating message, a security setting associated with the terminating message, a Quality of Service policy, a regulatory requirement, network connectivity, and/or billing. Upon receiving the terminating message from the originating I-CSCF302, the I-SBC306may send the terminating message to the terminating I-CSCF304.

In some examples, the terminating I-CSCF304which may comprise a randomization selector308for selecting the designated S-CSCF122, and/or a designated S-CSCF identifier310corresponding to the designated S-CSCF122.

In some examples, the I-CSCF106may determine to send an instance (e.g., copy) of the modified terminating message to the designated S-CSCF122at least partly in response to receiving the terminating message. The I-CSCF106may determine which S-CSCF of the one or more candidate S-CSCFs108(and/or the non-candidate S-CSCFs204) comprises the designated S-CSCF122. For instance, the I-CSCF106may store and/or receive the designated S-CSCF identifier310, such us during an S-CSCF designation process prior to the system300receiving the terminating message. Additionally, or alternatively, the I-CSCF106may determine the designated S-CSCF122via the randomization selector304(e.g., via randomly selecting the designated S-CSCF122from a list of potential designated S-CSCFs). For instance, the I-CSCF106may attempt to send the modified terminating message to the designated S-CSCF122based on the stored designated S-CSCF identifier310. The I-CSCF106may receive a response indicating that the attempt was at least partly unsuccessful and, in response, may send the instance of the modified request to the designated S-CSCF122via the randomization selector308(which may be a different designated S-CSCF than that corresponding to the stored designated S-CSCF identifier310)

In some examples, the designated S-CSCF122may, at least partly in response to receiving the first modified terminating message from the I-CSCF106, determine the registered S-CSCF114and/or send a second instance of the modified terminating message (e.g., a second copy of the modified terminating message) to the registered S-CSCF114. For instance, the designated S-CSCF122may access and/or receive information from a list of the one or more candidate S-CSCFs108and may send one or more queries to the one or more candidate S-CSCFs108. In response, the one or more candidate S-CSCFs108may send information to the designated S-CSCF122indicating whether the one or more candidate S-CSCFs108comprise the registered S-CSCF114.

In some examples, the designated S-CSCF122may determine the registered S-CSCF114at least partly based on information accessed and/or received from an external data storage312. The external data storage312may comprise one or more memory storage devices that may be located at the designated S-CSCF122and/or remotely from the S-CSCF122. The external data storage312may include any of the information related to the one or more candidate S-CSCFs108discussed above regarding the S-CSCF identifier data table116. Upon determining the registered S-CSCF114, the designated S-CSCF122may send a first instance of the modified terminating message to the registered S-CSCF114. Additionally, or alternatively, the registered S-CSCF114may send a second instance of the modified terminating message to the TAS112, such that the TAS112may store and/or access an indication of the HSS outage, and/or avoid or omit sending one or more messages to the HSS110.

FIG. 4depicts a flow chart of an example method400that may be performed by any of the systems discussed herein, although system100is discussed by way example merely for convenience. The method400may include techniques performed by the system100for establishing the SIP session via the S-CSCF identifier data table116.

At step402, the system100may store a data structure (e.g., a data table) indicating one or more S-CSCF identifiers. For instance, the system100may store the S-CSCF identifier data table116, such as at one or more memory storage devices at or otherwise associated with the I-CSCF106. The S-CSCF identifier data table116may include information related to the one or more candidate S-CSCFs108indicating which UEs102are registered to which of the one or more candidate S-CSFs108. In other words, the S-CSCF identifier data table116may include information for identifying the registered S-CSCF114. The S-CSCF identifier data table116may comprise one or more of the S-CSCF identifier206, the routing number208, the rates or traffic information210, the source, destination, or port information212, the application identifier214, the update archive216, the owner identifier218, the network security feature identifier220, and/or combinations thereof.

At step404, the system100may receive a first terminating message from the UE102, the first terminating message comprising a body and a first header. For example, the first terminating message may comprise a request to establish the SIP session for the UE102with the registered S-CSCF114. The first terminating message may include information related to the UE102, the SIP session, and/or the registered S-CSCF114(e.g., a UE102identifier, etc.). In some examples, the first terminating message may comprise a register request for establishing a voice communication and/or a multimedia session on an LTE network.

At step406, the system100may determine the occurrence of the HSS outage. For instance, upon receiving the first terminating message from the UE102, the I-CSCF106may send the LIR to the HSS110. The LIR may comprise a request for a particular S-CSCF identifier206associated with the registered S-CSCF114and/or the UE102. In some instances, the system100may determine whether a response to the LIR is received at the I-CSCF106within a predetermined amount of time after sending the LIR (e.g., one second, two second, three second, five seconds, 10 seconds, 30 seconds, one minute, 2 minutes, five minutes, etc.). Upon determining that the predetermined amount of time has lapsed and/or no response has been received from the HSS110within the predetermined amount of time, the I-CSCF106may determine the occurrence of the HSS outage. In some examples, I-CSCF106may determine the occurrence of the HSS outage based on one or more messages indicating the HSS outage received from other NFs and/or sent to the I-CSCF106(e.g., error messages).

At step408, the system100may determine a plurality of S-CSCF identifiers206. For instance, the I-CSCF106may receive one or more of the plurality of S-CSCF identifiers206from the S-CSCF identifier data table116or other data structure storing S-CSCF identifiers206corresponding to the plurality of candidate S-CSCFs108. The S-CSCF identifier data table116may include information related to one or more of the plurality of candidate S-CSCFs108, such as the S-CSCF identifier206, the routing number208, the rates or traffic information210, the source, destination, or port information212, the application identifier214, the update archive216, the owner identifier218, the network security feature identifier220, and/or combinations thereof. In some instances, one or more S-CSCF identifier(s)206may comprise a Fully Qualified Domain Name (FQDN), which may indicate one or more particular IP addresses and/or one or more particular port numbers.

At step410, the system100may generate a second terminating message comprising the body and the second header. For instance, the I-CSCF106may generate the second terminating message by generating the second header for the second terminating message as a modified version of the first header (e.g., a modified header). For instance, the I-CSCF106may insert a value (e.g., an alphanumeric value or string) into the first header of the first terminating message to generate the second header which, according to one or more configurations at NF(s) receiving the second terminating message, indicates the HSS outage (e.g., may include an HSS identifier corresponding to the HSS110experiencing the HSS outage). In some examples, the indication of the HSS outage may be included in the body of the second terminating message (e.g., to generate a modified body) in addition to or alternatively to in the second header. In some instances, the first terminating message may comprise an INVITE query, and the second terminating message or modified message may comprise a modified INVITE query corresponding to the INVITE query. In some examples, the modified, second terminating message (e.g., the modified INVITE query) may include the HSS identifier indicating the particular HSS110experiencing the HSS outage. For instance, the I-CSCF106may insert an alphanumeric string into the header of the first terminating message to generate the second header of the second terminating message, the alphanumeric string representing the HSS identifier.

At step412, the system100may send, based at least partly on the plurality of S-CSCF identifiers206, a first instance of the second terminating message to the first candidate S-CSCF118. For example, the I-CSCF106may generate the first instance, or forked copy, of the second terminating message, and may send the first instance of the second terminating message to the first candidate S-CSCF118based at least partly on the S-CSCF identifier206at the S-CSCF identifier data table116.

At step414, the system100may send, based at least partly on one or more S-CSCF identifiers206, a second instance of the second terminating message to the second candidate S-CSCF120. For instance, rather than wait to be assigned to a new HSS, or for the HSS outage to end, the I-CSCF106may send multiple copies of the second terminating message (e.g., forked messages) to multiple candidate S-CSCFs108based on the S-CSCF identifier data table116of the I-CSCF106indicating the one or more candidate S-CSCFs108. In some examples, the I-CSCF106may continue to send multiple instances of the second terminating message to the candidate S-CSCFs108until a response is received from the registered S-CSCF114.

At step416, the system100may determine a session for the UE via a particular candidate S-CSCF of the plurality of candidate S-CSCFs. For instance, the registered S-CSCF114may respond to one of the instances of the modified, second terminating message sent from the I-CSCF106. The registered S-CSCF114may determine that the second terminating message sent from the I-CSCF106corresponds to the first terminating message sent from the UE102and may establish the SIP session for the UE102. In some examples, one or more candidate S-CSCFs108(e.g., the first S-candidate CSCF118, the second candidate S-CSCF120, etc.) may determine to ignore the instance(s) of the second terminating message and/or refrain from sending a response based on determining that the second terminating message comprises a modified message, based on the modified header of the second terminating message, based on a modified body of the second terminating message, and/or based on determining that the particular S-CSCF does not comprise the registered S-CSCF114.

FIG. 5depicts a flow chart of an example method500that may be performed by any of the systems discussed herein, although system100is discussed by way example merely for convenience. The method500may include techniques performed by the system100for establishing the SIP session via the designated S-CSCF122.

At step502, the system100may receive a terminating message from the I-CSCF106including the indication of the occurrence of an HSS outage. For instance, the designated S-CSCF122may receive an instance of a modified terminating message from the I-CSCF106. The I-CSCF106may insert a value (e.g., an alphanumeric value or string) into the first header of the first terminating message to generate the second header which may indicate the HSS outage (e.g., may include an HSS identifier corresponding to the HSS110experiencing the HSS outage). In some examples, the indication of the HSS outage may be included in the body of the modified terminating message (e.g., to generate a modified body) in addition to or alternatively to in the second header. The modified terminating message may comprise a modified INVITE query.

At step504, the system100may send, based at least partly on receiving the indication of the occurrence of the HSS outage, a query for a particular S-CSCF identifier206. For instance, the designated S-CSCF122may send one or more queries to determine the particular S-CSCF identifier206corresponding to the registered S-CSCF114. The designated S-CSCF122may access and/or receive information from a list of the one or more candidate S-CSCFs108and may send one or more queries to the one or more candidate S-CSCFs108. In response, the one or more candidate S-CSCFs108may send information to the designated S-CSCF122indicating whether the one or more candidate S-CSCFs108comprise the registered S-CSCF114.

At step506, the system100may determine the S-CSCF identifier206based at least partly on the query sent from the designated S-CSCF122. For instance, one of the plurality of candidate S-CSCFs108(e.g., the registered S-CSCF114) may respond to the query with a message including the S-CSCF identifier206and/or an indication that the S-CSCF identifier206corresponds to the registered S-CSCF114. Additionally, or alternative, the designated S-CSCF122may receive the S-CSCF identifier206corresponding to the registered S-CSCF114from the external data storage312, which may respond to the query.

At step508, the system100may send a second instance of the modified terminating message received from the I-CSCF106to a particular S-CSCF associated with the S-CSCF identifier206. For instance, the designated S-CSCF122may generate and/or send the second instance of the modified terminating message to the registered S-CSCF114corresponding to the S-CSCF identifier206.

At step510, the system100may send a third instance of the terminating message to a Telephony Application Server (TAS)112. For instance, the registered S-CSCF114may send a third instance of the modified INVITE query to the TAS112. Upon receiving the third instance of the terminating message (e.g., the modified INVITE query), the TAS112may determine whether to send a TAS message to the HSS110. For instance, the TAS112may determine the occurrence of the HSS outage based at least partly on a modification included in a header of the third instance of the terminating message. Accordingly, the TAS112may determine to refrain from sending one or more TAS messages, such as one or more Circuit Switch Routing Numbers (CSRN)s to the HSS110corresponding to the HSS outage (e.g., based on an HSS identifier included in the modified INVITE query).

At step512, the system100may establish the SIP session. For instance, upon receiving the second instance of the terminating message from the designated S-CSCF122, the registered S-CSCF114may respond by sending one or more session-initiation messages to other control plane NFs of the network, establishing the SIP session for the UE102.

AlthoughFIGS. 4 and 5illustrate example operations, the described operations in these figures (and all other methods and operations disclosed herein) may be performed in other orders different than those illustrated inFIGS. 4 and 5and multiple steps may be performed simultaneously or in parallel. Furthermore, in some embodiments, one or more operations illustrated inFIGS. 4 and 5may be omitted, repeated, and/or combined with other operations illustrated inFIGS. 4 and 5, or any other operations and components discussed in this disclosure. In some instances, any of the steps402-416or502-512may be performed at least partly in response to any other of the steps402-416or502-512. In some instances, the operations illustrated inFIGS. 4 and 5may be performed in multiple iterations for instance, to establish thousands, or even millions of SIP sessions which may experience an HSS outage.

CONCLUSION

Although this disclosure uses language specific to structural features and/or methodological acts, it is to be understood that the scope of the disclosure is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as illustrative forms of implementation.