Abstract: ABSTRACT SYSTEM AND METHOD FOR CALL ROUTING IN A BREAKOUT GATEWAY CONTROL FUNCTION (BGCF) A system (108) and method (300A) for call routing in breakout gateway control function (BGCF) are described. The method (300A) includes receiving (302A) a plurality of messages from a UE. The method (300A) includes determining (304A) a status of a trunk group routing protocol (TGRP) identifier (ID). The status is one of a present of the TGRP ID or an absence of the TGRP ID in at least one field of each received message. Upon determining the status as absent, the method (300A) includes selecting (306A) the MGCF pool based on the defined routing configuration. The method (300A) includes routing (308A) a call based on the status of the TGRP ID and the at least one defined routing configuration. Ref. Fig. 3A
DESC:
FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENTS RULES, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)
1. TITLE OF THE INVENTION
SYSTEM AND METHOD FOR CALL ROUTING IN A BREAKOUT GATEWAY CONTROL FUNCTION (BGCF)
2. APPLICANT(S)
Name Nationality Address
JIO PLATFORMS LIMITED INDIAN Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India
3. PREAMBLE TO THE DESCRIPTION
The following specification particularly describes the invention and the manner in which it is to be performed.
RESERVATION OF RIGHTS
[001] A portion of the disclosure of this patent document contains material, which is subject to intellectual property rights such as, but are not limited to, copyright, design, trademark, integrated circuit (IC) layout design, and/or trade dress protection, belonging to Jio Platforms Limited (JPL) or its affiliates (herein after referred as owner). The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights whatsoever. All rights to such intellectual property are fully reserved by the owner.
TECHNICAL FIELD
[002] The present disclosure relates generally to a field of telecommunication networks. More particularly, the present disclosure relates to a system and a method for call routing in a breakout gateway control function (BGCF).
DEFINITION
[003] As used in the present disclosure, the following terms are generally intended to have the meaning as set forth below, except to the extent that the context in which they are used to indicate otherwise.
[004] The term “call routing” as used herein, refers to a process of determining a path or route that a call should take through a network from an originating user equipment (UE) to a destination UE. This process involves selecting the appropriate network elements, such as gateways or servers, to handle the call based on various routing criteria and configurations specified by the network.
[005] The term “trunk group routing protocol (TGRP)” as used herein, refers to a protocol used for routing calls to a specific group of trunks or pathways within a telecommunications network. The TGRP enables the network to manage and direct call traffic efficiently through designated trunks based on routing policies and configurations associated with the trunk group. The TGRP ensures that the calls are routed to an appropriate trunk group for optimal handling and resource utilization.
[006] The term “Media Gateway Control Function (MGCF)” as used herein, refers to a network function defined by a 3rd Generation Partnership Project (3GPP) that is responsible for controlling and managing the media gateway within a telecommunications network. The MGCF interfaces between a circuit-switched domain and a packet-switched domain, providing various functions such as signaling, call control, and media handling to facilitate seamless communication and interoperability across different network domains.
[007] The term “Fully Qualified Domain Name (FQDN)” as used herein, refers to a domain name that specifies an exact location of a server or service within the hierarchical Domain Name System (DNS). The FQDN includes a hostname and a domain name and is used to uniquely identify and access network resources, such as servers or services, within a network.
[008] The term “Media Gateway Control Function (MGCF) pool” as used herein, refers to a collection of Media Gateway Control Functions (MGCFs) managed as a single entity for the purpose of load balancing, redundancy, and efficient resource utilization. The MGCF pool allows distributed management of call control functions and media gateway operations across multiple MGCF instances.
[009] The term “routing configuration” as used herein, refers to a set of rules, policies, and parameters used to determine how calls are routed through a network. Routing configurations may include criteria such as trunk group IDs, geographic data, cell IDs, and other parameters that influence the selection of network paths and elements for handling calls.
[0010] The term “circle data routing configuration” as used herein, refers to a routing configuration that directs calls or messages based on the geographical or logical circle data associated with the calling and/or called parties. This configuration uses predefined geographical or network circles to determine the routing path, allowing for efficient call handling based on the relative location of the entities involved.
[0011] The term “cell ID-based routing configuration” as used herein, refers to a routing configuration that determines the path for calls or messages based on the cell ID of the calling party and/or the called party. The cell ID represents a specific cell or an area within a cellular network, and routing decisions are made according to the cell IDs to optimize call delivery and network resource utilization.
[0012] The term “short distance charging area (SDCA)-based routing configuration” as used herein, refers to a technique for routing calls based on the Short Distance Charging Area, which is a defined geographical region within a telecommunications network. The SDCA-based routing configuration uses the SDCA information of the calling party to determine the appropriate routing for the call. Calls originating from a specific SDCA are routed based on predefined rules that associate the SDCA with a particular MGCF pool or destination, ensuring optimized call handling and efficient resource utilization within the local area.
[0013] The term “request uniform resource identifier (URI) field” as used herein, refers to a field within a message or request in a telecommunications network that contains the URI. The URI field identifies the resource or service being requested and specifies the destination address or endpoint for the request. The URI field is used to route and process messages, such as signaling messages or data requests, within the network. The URI field typically includes information such as the protocol, domain, and resource path needed to address the request appropriately.
[0014] The term “Internet protocol (IP) Multimedia Subsystem (IMS)” as used herein, refers to a technology defined by the Third Generation Partnership Project (3GPP) to provide IP Multimedia services over the mobile communication networks. The IMS provides key features to enhance the end-user person-to-person communication experience through the integration and interaction of services. Further, the IMS allows new person-to-person (client-to-client) as well as person-to-content (client-to-server) communications over an IP-based network.
[0015] The term “Session Initiation Protocol (SIP)” as used herein, refers to a signaling protocol used to create, modify, and terminate multimedia sessions in IMS networks. The SIP is responsible for establishing communication sessions between network identities and managing the flow of multimedia content.
[0016] The term “SIB” refers to a network component within the IMS, specifically a Serving Call Session Control Function (S-CSCF), an Interrogating Call Session Control Function (I-CSCF), or a Breakout Gateway Control Function (BGCF) collectively referred to as a “SIB”. The SIB manages and processes SIP messages and sessions within the IMS architecture.
[0017] The term “Serving Call session control function (S-CSCF)” refers to a network component that is configured to manage sessions in an IMS architecture. The S-CSCF controls the signaling and session control processes for voice and multimedia sessions. It handles tasks such as routing SIP messages, managing user sessions, enforcing service policies, and interacting with other IMS network elements to establish, modify, and terminate multimedia sessions.
[0018] The term “Interrogating Call Session Control Function (I-CSCF)” refers to a network component in the IMS architecture that performs a role of querying and routing incoming SIP requests to the appropriate S-CSCF. The I-CSCF is responsible for querying a Home Subscriber Server (HSS) to retrieve user profile information and determining the correct S-CSCF to handle the request based on the user’s profile and session requirements.
[0019] The term “Breakout Gateway Control Function (BGCF)” refers to a network component in the IMS architecture that manages the interworking between the IMS network and other external networks, such as the Public Switched Telephone Network (PSTN) or other telecommunication networks. The BGCF handles the breakout of calls from the IMS network to external networks and performs functions such as routing, signaling, and media handling.
[0020] The term “pattern matching technique” refers to a method used in computing to identify and manipulate text based on specific patterns. The pattern is a sequence of characters that forms a search pattern, which can be used to match text strings, such as characters, words, or patterns of characters.
BACKGROUND
[0021] The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of prior art.
[0022] In telecommunication systems, call routing in networks like a Public Switched Telephone Network (PSTN) and Internet Protocol (IP) Multimedia Subsystem (IMS) faces challenges in managing resources efficiently, especially when handling user-specific routing configurations. Telephony Gateway Registration Protocol (TGREP) allows PSTN gateways to inform signaling servers, such as the Breakout Gateway Control Function (BGCF) or Media Gateway Control Function (MGCF), about routing information. However, TGREP is limited to collecting dynamic information and does not define an effective method for the signaling server to select media gateways (MGWs) based on this data.
[0023] Current approaches for selecting the MGW, such as random or polling-based methods, do not account for varying load conditions on different gateways. This leads to performance degradation during peak traffic periods when heavily loaded gateways can suffer from breakdowns or slowdowns, resulting in session failures or degraded service quality.
[0024] Moreover, the IMS systems, which rely on protocols like Session Initiation Protocol (SIP) to manage call sessions, face inefficiencies due to the scattering of multiple messages across various threads, increasing resource consumption and complicating the system architecture. This results in latency and packet loss issues, especially when using protocols like Real-Time Transport Protocol (RTP) and Real-Time Transport Control Protocol (RTCP) for media transmission.
[0025] The existing systems lack an effective way to handle subscriber-specific call routing that accommodates dynamic network conditions while providing support for blocking or diverting specific users’ calls based on predefined configurations. Configuration-based design may address these limitations by optimizing routing mechanisms and supporting advanced features like blocking or redirecting calls. However, the existing methods do not provide an efficient routing mechanism for handling the call routing without increasing computational complexity, latency, or resource requirements.
[0026] There is, therefore, a need for a system and a method that overcomes the limitations of the prior art.
SUMMARY
[0027] In an exemplary embodiment, a method for call routing in a breakout gateway control function (BGCF) is disclosed. The method includes receiving, by a receiving unit, a plurality of messages from a user equipment (UE). The method further includes determining, by a processing engine, at least one of a status of a trunk group routing protocol (TGRP) identifier (ID), the status is one of a present of the TGRP ID or an absence of the TGRP ID in at least one field of each received message. Upon determining the status as absent, the method further includes selecting, by the processing engine, the MGCF pool based on at least one defined routing configuration. The method further includes routing, by the processing engine, a call based on the based on the status of the TGRP ID and the at least one defined routing configuration.
[0028] In some embodiments, upon determining the status as present, the method includes selecting, by the processing engine, the MGCF pool based on a TGRP routing configuration associated with the present TGRP ID, retrieving, by the processing engine (208), the selected MGCF pool from a MGCF pool-based configuration, and selecting, by the processing engine, a fully qualified domain name (FQDN) from a list of fully qualified domain names (FQDNs) associated with the retrieved MGCF pool based on a set of predefined parameters.
[0029] In some embodiments, the at least one field is a request uniform resource identifier (URI) field.
[0030] In some embodiments, the at least one defined routing configuration is selected from a group consisting of a circle data routing configuration, a cell ID-based routing configuration, and a short distance charging area (SDCA)-based routing configuration.
[0031] In some embodiments, the method further includes selecting the MGCF pool based on the circle data routing configuration and routing the call using the circle data of a calling party and routing data of a called party associated with the circle data routing configuration.
[0032] In some embodiments, the method further includes selecting the MGCF pool based on the cell ID-based routing configuration and routing the call using a cell ID of the calling party and routing data of the called party associated with the cell ID-based routing configuration.
[0033] In some embodiments, the method further includes selecting the MGCF pool based on the SDCA-based routing configuration and routing the call using the SDCA data of the calling party and routing data of the called party associated with the SDCA-based routing configuration.
[0034] In some embodiments, to route the call based on the at least one routing configuration, the method includes analyzing, by the processing engine, data associated with the calling party and the called party. The data includes a plurality of parameters, each parameter is associated with a value, and wherein the value comprises one or more criteria. Upon analyzing, if the one or more criteria within the data are met, the method further includes routing, by the processing engine, the call based on the at least one selected routing configuration.
[0035] In some embodiments, if the one or more criteria within the data are not met, the method further includes routing the call based on a default routing configuration.
[0036] In some embodiments, the method further includes blocking, by the processing engine, the call routing based on the selected routing configuration.
[0037] In some embodiments, the set of predefined parameters comprises at least one of a validity of the FQDN, a priority of the FQDN, and a weightage associated with the FQDN.
[0038] In another exemplary embodiment, a system for call routing in a breakout gateway control function (BGCF) is described. The system includes a memory and a processing engine that is communicatively coupled with the memory. The processing engine is configured to receive a plurality of messages from a user equipment (UE). The processing engine is further configured to determine at least one of a status of a trunk group routing protocol (TGRP) identifier (ID), the status is one of a present of the TGRP ID or an absence of the TGRP ID in at least one field of each received message. Upon determining the status as absent, the processing engine is further configured to select the MGCF pool based on at least one defined routing configuration. The processing engine is further configured to route a call based on the based on the status of the TGRP ID and the at least one defined routing configuration.
OBJECTIVES OF THE PRESENT DISCLOSURE
[0039] Some of the objectives of the present disclosure, which at least one embodiment herein satisfies, are as follows:
[0040] An objective of the present disclosure is to provide a system and a method for call routing in a breakout gateway control function (BGCF) using a pattern matching technique.
[0041] Another objective of the present disclosure is to provide a system and a method for call routing in the BGCF that offers a database-free call routing.
[0042] Another objective of the present disclosure is to provide a system and a method for call routing in the BGCF that enables the routing of the same number to different destinations based on the caller's location.
[0043] Yet another objective of the present disclosure is to provide a system and a method that optimizes network resources by providing an optimal route path and reduces latency of a communication network
[0044] Other objectives and advantages of the present disclosure will be more apparent from the following description, which is not intended to limit the scope of the present disclosure.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWING
[0045] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.
[0046] FIG. 1A illustrates an exemplary network architecture for implementing a system for call routing in a breakout gateway control function (BGCF), in accordance with an embodiment of the present disclosure.
[0047] FIG. 1B illustrates another exemplary network architecture for implementing the system for call routing in the BGCF, in accordance with an embodiment of the present disclosure.
[0048] FIG. 2 illustrates an exemplary block diagram of the system configured for call routing in the BGCF, in accordance with an embodiment of the present disclosure.
[0049] FIG. 3A illustrates an exemplary flow diagram of a method for call routing in the BGCF, in accordance with an embodiment of the present disclosure.
[0050] FIG. 3B illustrates another exemplary flow diagram of a method for call routing in the BGCF, in accordance with an embodiment of the present disclosure.
[0051] FIG. 4 illustrates an exemplary computer system in which or with which the embodiments of the present disclosure may be implemented.
[0052] The foregoing shall be more apparent from the following more detailed description of the disclosure.
LIST OF REFERENCE NUMERALS
100A – Network architecture
102 – User
104 – User Equipment (UE)
106 – Network
108 – System
110 - Radio Access Network (RAN)
112 - Packet Data Subsystem
114 - IP Multimedia Subsystem (IMS)
116 - Home Subscriber Server (HSS)
118 - Call Session Control Function (CSCF)
120 - Serving-CSCF (S-CSCF)
122 - Interrogating-CSCF (I-CSCF)
124 - Proxy-CSCF (P-CSCF)
126 - Breakout Gateway Control Function (BGCF)
128 - Media Gateway Control Function (MGCF)
130 - Public Switched Telephone Network (PSTN)
200 – Block Diagram
202 – Processor(s)
204 – Memory
206 – Interfaces(s)
208 – Processing Engine
210 – Receiving unit
212 – Determining unit
214 – Routing unit
300A, 300B – Flow diagram
400 – Computer System
410 – External Storage Device
420 – Bus
430 – Main Memory
440 – Read Only Memory
450 – Mass Storage Device
460 – Communication Port
470 – Processor
DETAILED DESCRIPTION
[0053] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein. Example embodiments of the present disclosure are described below, as illustrated in various drawings in which like reference numerals refer to the same parts throughout the different drawings.
[0054] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth.
[0055] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
[0056] Also, it is noted that individual embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
[0057] The word "exemplary" and/or "demonstrative" is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as "exemplary" and/or "demonstrative" is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms "includes,” "has,” "contains," and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive like the term "comprising" as an open transition word without precluding any additional or other elements.
[0058] Reference throughout this specification to "one embodiment" or "an embodiment" or "an instance" or "one instance" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0059] The terminology used herein is to describe particular embodiments only and is not intended to be limiting the disclosure. As used herein, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term "and/or" includes any combinations of one or more of the associated listed items. It should be noted that the terms "mobile device", "user equipment", "user device", "communication device", "device" and similar terms are used interchangeably for the purpose of describing the invention. These terms are not intended to limit the scope of the invention or imply any specific functionality or limitations on the described embodiments. The use of these terms is solely for convenience and clarity of description. The invention is not limited to any particular type of device or equipment, and it should be understood that other equivalent terms or variations thereof may be used interchangeably without departing from the scope of the invention as defined herein.
[0060] As used herein, an "electronic device", or "portable electronic device", or "user device" or "communication device" or "user equipment" or "device" refers to any electrical, electronic, electromechanical and computing device. The user device is capable of receiving and/or transmitting one or parameters, performing function/s, communicating with other user devices and transmitting data to the other user devices. The user equipment may have a processor, a display, a memory, a battery and an input-means such as a hard keypad and/or a soft keypad. The user equipment may be capable of operating on any radio access technology including but not limited to IP-enabled communication, Zig Bee, Bluetooth, Bluetooth Low Energy, Near Field Communication, Z-Wave, Wi-Fi, Wi-Fi direct, etc. For instance, the user equipment may include, but not limited to, a mobile phone, smartphone, virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other device as may be obvious to a person skilled in the art for implementation of the features of the present disclosure.
[0061] Further, the user device may also comprise a "processor" or "processing unit" includes processing unit, wherein the processor refers to any logic circuitry for processing instructions. The processor may be a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits, Field Programmable Gate Array circuits, any other type of integrated circuits, etc. The processor may perform signal coding data processing, input/output processing, and/or any other functionality that enables the working of the system according to the present disclosure. More specifically, the processor is a hardware processor.
[0062] As portable electronic devices and wireless technologies continue to improve and grow in popularity, the advancing wireless technologies for data transfer are also expected to evolve and replace the older generations of technologies. In the field of wireless data communications, the dynamic advancement of various generations of cellular technology is also seen. The development, in this respect, has been incremental in the order of second generation (2G), third generation (3G), fourth generation (4G), fifth generation (5G), and now sixth generation (6G), and more such generations are expected to continue in the forthcoming time.
[0063] Radio Access Technology (RAT) refers to the technology used by mobile devices/ user equipment (UE) to connect to a cellular network. It refers to the specific protocol and standards that govern the way devices communicate with base stations, which are responsible for providing the wireless connection. Further, each RAT has its own set of protocols and standards for communication, which define the frequency bands, modulation techniques, and other parameters used for transmitting and receiving data. Examples of RATs include GSM (Global System for Mobile Communications), CDMA (Code Division Multiple Access), UMTS (Universal Mobile Telecommunications System), LTE (Long-Term Evolution), and 5G. The choice of RAT depends on a variety of factors, including the network infrastructure, the available spectrum, and the mobile device's/device's capabilities. Mobile devices often support multiple RATs, allowing them to connect to different types of networks and provide optimal performance based on the available network resources.
[0064] While considerable emphasis has been placed herein on the components and component parts of the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferred embodiment as well as other embodiments of the disclosure will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be interpreted merely as illustrative of the disclosure and not as a limitation.
[0065] IP Multimedia Subsystem (IMS) is a technology defined by the Third Generation Partnership Project (3GPP) that enables IP Multimedia services over mobile communication networks. IMS enhances the end-user communication experience by integrating and interacting with various services, enabling rich person-to-person (client-to-client) as well as person-to-content (client-to-server) communication over an IP-based network. Session Initiation Protocol (SIP) is used by IMS to establish and manage calls or sessions between user terminals or user terminals and application servers. The SIP enables voice and video communication over the Internet. The SIP handles the signaling and control of multimedia sessions. The SIP uses a text-based message format that can be extended and customized to suit different needs and scenarios. The SIP message includes a request line or a status line, followed by a set of headers and an optional message body. The request line or status line indicates a method, a uniform resource identifier (URI), and a version of the protocol. The set of headers provides additional information about the sender, the receiver, the session, and the message. The SIP message may contain session description protocol (SDP) or other data types. The SDP defines the media formats, codecs, and parameters for each session.
[0066] For example, when a call is initiated by a user A (calling party) through a user equipment (UE), a UE of a user B (receiving party) receives an invite message. After receiving the invite message, the UE of the user B rings. In SIP, a response titled “180 Ringing” is configured to notify the calling party that the call has been initiated and assure the calling party that the receiving party has received the invite message. Multiple SIP messages are exchanged between the user A and the user B during a signaling plane, and during a data plane.
[0067] In the existing systems, these multiple messages are scattered among multiple threads, thereby a number of resources are required, resulting in a costly and complex arrangement. As wireless technologies are advancing, there is a need to cope with the 5G requirements and deliver a high level of service to the customers. Therefore, based on different subscriber-specific routing, it is difficult to manage the data associated with a user during a session.
[0068] Accordingly, there is a need for a system and a method that can reduce latency in the call processing and provide optimized data retrieval with improved performance by organizing data for the BGCF call routing.
[0069] The present disclosure aims to address the issues mentioned above and other problems in this field of technology by utilizing configuration-based approaches for routing that are specific to subscribers. By employing different configuration-based routing, the system and the method can use resources in an effective and efficient manner.
[0070] The various embodiments throughout the disclosure will be explained in more detail with reference to FIG. 1A – FIG. 4.
[0071] FIG. 1A illustrates an exemplary network architecture (100A) for implementing a system (108) for call routing in breakout gateway control function (BGCF), in accordance with an embodiment of the present disclosure.
[0072] As illustrated in FIG. 1A, the network architecture (100A) may include one or more user equipments (UEs) (104-1, 104-2…104-N) associated with one or more users (102-1, 102-2…102-N) in an environment. A person of ordinary skill in the art will understand that one or more users (102-1, 102-2…102-N) may collectively referred to as the user (102). Similarly, a person of ordinary skill in the art will understand that one or more UEs (104-1, 104-2…104-N) may be collectively referred to as the UE (104). Although only three UEs (104) are depicted in FIG. 1A, however, any number of the UE (104) may be included without departing from the scope of the ongoing description.
[0073] In an embodiment, the UE (104) may include smart devices operating in a smart environment, for example, an Internet of Things (IoT) system. In such an embodiment, the UE (104) may include, but is not limited to, smartphones, smart watches, smart sensors (e.g., mechanical, thermal, electrical, magnetic, etc.), networked appliances, networked peripheral devices, networked lighting system, communication devices, networked vehicle accessories, networked vehicular devices, smart accessories, tablets, smart television (TV), computers, smart security system, smart home system, other devices for monitoring or interacting with or for the users (102) and/or entities, or any combination thereof. A person of ordinary skill in the art will appreciate that the UE (104) may include, but not limited to, intelligent, multi-sensing, network-connected devices, that may integrate seamlessly with each other and/or with a central server or a cloud-computing system or any other device that is network-connected.
[0074] Additionally, in some embodiments, the UE (104) may include, but not limited to, a handheld wireless communication device (e.g., a mobile phone, a smartphone, a phablet device, and so on), a wearable computer device (e.g., a head-mounted display computer device, a head-mounted camera device, a wristwatch computer device, and so on), a Global Positioning System (GPS) device, a laptop computer, a tablet computer, or another type of portable computer, a media playing device, a portable gaming system, and/or any other type of computer device with wireless communication capabilities, and the like. In an embodiment, the UE (104) may include, but is not limited to, any electrical, electronic, electromechanical, or equipment, or a combination of one or more of the above devices, such as virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other computing device, wherein the UE (104) may include one or more in-built or externally coupled accessories including, but not limited to, a visual aid device such as a camera, an audio aid, a microphone, a keyboard, and input devices for receiving input from the user (102) or the entity such as touchpad, touch-enabled screen, electronic pen, and the like. A person of ordinary skill in the art will appreciate that the UE (104) may not be restricted to the mentioned devices and various other devices may be used.
[0075] Referring to FIG. 1A, the UE (104) may communicate with the system (108) through the network (106) for sending or receiving various types of data. In an embodiment, the network (106) may include at least one of a 5G network, 6G network, or the like. The network (106) may enable the UE (104) to communicate with other devices in the network architecture (100A) and/or with the system (108). The network (106) may include a wireless card or some other transceiver connection to facilitate this communication. In another embodiment, the network (106) may be implemented as, or include any of a variety of different communication technologies such as a wide area network (WAN), a local area network (LAN), a wireless network, a mobile network, a Virtual Private Network (VPN), the Internet, the Public Switched Telephone Network (PSTN), or the like.
[0076] In FIG. 1A, the UE (104) may communicate with the system (108) through the network (106). In particular, the UE (104) may be communicatively coupled with the network (106). The coupling includes steps of receiving, by the network (106), a connection request from the UE (104). Upon receiving the connection request, the coupling including steps of sending, by the network (106), an acknowledgment of the connection request to the UE (104). Further, the coupling includes steps of transmitting a plurality of signals in response to the connection request. The plurality of signals is responsible for communicating with the system (108) to perform call routing in the BGCF. The BGCF manages the call routing between different network domains, particularly handling the calls that transition from a voice-over-IP (VoIP) network to a public switched telephone network (PSTN). The BGCF facilitates interconnection and signaling required to ensure seamless communication across different network environments.
[0077] In an embodiment, the network (106) may include, by way of example but not limitation, at least a portion of one or more networks having one or more nodes that transmit, receive, forward, generate, buffer, store, route, switch, process, or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth. The network (106) may also include, by way of example but not limitation, one or more of a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof.
[0078] Although FIG. 1A shows exemplary components of the network architecture (100A), in other embodiments, the network architecture (100A) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 1A. Additionally, or alternatively, one or more components of the network architecture (100A) may perform functions described as being performed by one or more other components of the network architecture (100A).
[0079] Referring to FIG. 1B, another exemplary network architecture (100B) for implementing the system (108) for call routing in the BGCF (126) is illustrated, in accordance with an embodiment of the present disclosure.
[0080] As shown in FIG. 1B, the network architecture (100B) includes the UE (104), a radio access network (RAN) (110), a packet data subsystem (112), an IP Multimedia Subsystem (IMS) (114), and a public switched telephone network (PSTN) (130). As shown in FIG. 1B, the IMS (114) may include various components, however, a limited number of components such as a home subscriber server (HSS) (116), a call session control function (CSCF) (118), the BGCF (126), a media gateway control function (MGCF) (128) is shown in the present disclosure for sake of brevity.
[0081] The RAN (110) (also known as “access network”) is a major component of a wireless telecommunications system that connects the user equipment to other parts of a network through a radio link. The RAN (110) provides access to and coordinates the management of resources across the radio sites. The RAN (110) has evolved from a first generation (1G) to a fifth generation (5G) of cellular networking. With the development of the fourth-generation (4G) technology, the 3rd Generation Partnership Project (3GPP) introduced Long-Term Evolution (LTE) RAN, and the RAN (110) and the core network changed significantly. In an aspect, the RAN (110) may include one or multiple networks of one or multiple types. For example, RAN (110) may include a 4G RAN (e.g., an Evolved UMTS Terrestrial Radio Access Network (E-UTRAN) of a Long-Term Evolution (LTE) network), a 4.5G RAN (e.g., an E-UTRAN of an LTE-Advanced (LTE-A) network), and/or a future or next generation RAN (e.g., a 5G-access network (5G-AN) or a 6G-RAN).
[0082] In an aspect, the RAN (110) may include a Third Generation (3G) RAN, a 3.5G RAN, a U-TRAN, a Universal Mobile Telecommunications System (UMTS) RAN, a Global System for Mobile Communications (GSM) RAN, a GSM EDGE RAN (GERAN), a Code Division Multiple Access (CDMA) RAN, a Wideband CDMA (WCDMA) RAN, an Ultra Mobile Broadband (UMB) RAN, a High-Speed Packet Access (HSPA) RAN, an Evolution Data Optimized (EV-DO) RAN, or the like (e.g., a public land mobile network (PLMN), etc.).
[0083] In an aspect, the RAN (110) may also include other types of networks, such as a WiFi network, a Worldwide Interoperability for Microwave Access (WiMAX) network, a local area network (LAN), a personal area network (PAN), or other type of network that provides access to or can be used as an on-ramp to a core network. Depending on the implementation, the RAN (110) may include various types of wireless network devices, such as, for example, a base station (BS), a base transceiver station (BTS), a Node B, an evolved Node B (eNB), a next-generation Node B (gNB), a remote radio head (RRH), a baseband unit (BBU), a radio network controller (RNC), a wireless node (e.g., a small cell node (e.g., a pico cell device, a femtocell device, a microcell device, a home eNB, a repeater, etc.)), a radio unit, a roadside unit, a 5G wireless access node, or other type of wireless station that provides wireless access to network.
[0084] The packet data subsystem (112) is configured to manage the transmission and reception of data packets across different networks and ensures efficient data transfer. The packet data subsystem (112) includes various protocols for seamless data transfer. The packet data subsystem (112) enables networks to support real-time applications, such as voice and video conferencing, and is essential for the functioning of the Internet.
[0085] The IMS (114) is configured to deliver multimedia communications services such as voice, video and text messaging over IP networks and thus is configured to interface with another network node. In an example, the IMS (114) includes three layers: an application layer, a control layer, and a transport layer with standardized interfaces to promote scalability, flexibility, and extensibility. The IMS (114) enables secure and reliable multimedia communications between diverse devices across diverse networks. The IMS (114) incorporates session initiation protocol (SIP) for session control signaling. For example, the UE (104) may directly register to the IMS (114), even when it is roaming in another network or country (the visited network). The only requirement is that the user can use IP and run SIP user agents.
[0086] The control layer (also referred to as an IMS core) is primarily responsible for handling (routing) SIP traffic, as a signaling mechanism of choice for public communications network infrastructures.
[0087] The main functional elements of the control layer include a plurality of application servers (not shown in FIG. 1B), the HSS (116), the CSCF (118), the BGCF (126), and the MGCF (128). The plurality of application servers is configured to provide various services, such as telephone call control, call continuity, conference calling, and supplementary service configuration. The HSS (116) is configured to maintain user profile information used to authenticate and authorize subscribers.
[0088] The CSCF (118) is configured for controlling sessions between the UE (104) and various applications. The CSCF (118) further encompasses three discrete roles: a serving-CSCF (S-CSCF) (120), an interrogating-CSCF (I-CSCF) (122), and a proxy-CSCF (P-CSCF) (124).
[0089] The S-CSCF (120) is configured to conduct registration and session control for the registered users. The S-CSCF (120) functions as a registrar and enables the network location information of the UE (104) to be available at the HSS (116). The S-CSCF (120) is able to originate and terminate a session on behalf of a requesting endpoint.
[0090] The I-CSCF (122) is configured to determine which serving-CSCF (120) may be assigned for controlling the session requested by the UE (104). The I-CSCF (122) obtains the request for the address of S-CSCF (120) from the HSS (116) during a registration request and provides it to the P-CSCF (124) for subsequent multimedia requests.
[0091] The P-CSCF (124) functions as a proxy server for the user equipment; all (SIP signaling traffic to and from the user equipment must go through the P-CSCF (124). The P-CSCF (124) validates and then forwards requests from the user equipment and then processes and forwards the responses to the user equipment.
[0092] The S-CSCF (120) controls PSTN services through soft switches and the BGCF (126). The soft switches may include a plurality of media gateway control functions (MGCF) (128) and a plurality of media gateways (MGWs). The MGCF is used to manage the signaling and control aspects of the plurality of MGWs, coordinating call setup, and routing between different network domains. The MGWs handle the actual media transmission, converting data between different formats and protocols, ensuring smooth communication between different networks.
[0093] The BGCF (126) is configured to choose the network to use for PSTN/PLMN interworking. If any breakout has occurred in the PSTN (130), then the BGCF (126) selects the MGCF (128) which will be responsible for interworking with the PSTN (130). The MGCF (128) then receives the SIP signaling from the BGCF (126) and sends it towards the PSTN (130).
[0094] According to an aspect of the present disclosure, the system (108) for call routing may be implemented within the IMS (114). In an example, the system (108) may be deployed with the BGCF (126). The system (108) is configured to store routing data related to SIB (S-CSCF, I-CSCF, BGCF) for BGCF call routing. The Session Initiation Protocol (SIP) refers to a signaling protocol used to create, modify, and terminate multimedia sessions in the IMS (114). The SIP is responsible for establishing communication sessions between network identities and managing the flow of multimedia content. In an example, the system (108) is configured to route PSTN calls to their destination based on the location of the caller user. In an aspect, the location of the caller user can be categorized by cell-id, SDCA (short distance charging area), or circle. In an aspect, the system (108) is configured to provide BGCF call routing based on a set of configurations like circle data routing, SDCA data routing, and cell ID data routing where a database is not required in BGCF call routing. In an aspect, the set of configurations may include predefined routing information that is loaded into memory during system initialization. Since the predefined routing information is preloaded, there is no need for real-time database lookups during the routing process. This eliminates the need for querying the database, reducing latency and improving the efficiency of the BGCF call routing process, as all necessary data is immediately accessible in the memory during execution,
[0095] FIG. 2 illustrates an exemplary block diagram (200) of the system (108), in accordance with an embodiment of the present disclosure. The system (108) is configured to perform the call routing in the BGCF (126). In an aspect, the system (108) is connected to the serving-CSCF (120), the BGCF (126) and the MGCF (128).
[0096] In an embodiment, the system (108) may include one or more processor(s) (202). The one or more processor(s) (202) may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and/or any devices that process data based on operational instructions. Among other capabilities, the one or more processor(s) (202) may be configured to fetch and execute computer-readable instructions stored in a memory (204) of the system (108). The memory (204) may be configured to store one or more computer-readable instructions or routines in a non-transitory computer readable storage medium, which may be fetched and executed to create or share data packets over a network service. For example, the memory (204) is configured to temporarily store program instructions and data used for routing calls in the BGCF (126). This may include the data received from the serving-CSCF (120), a list of fully qualified domain names (FQDNs), and at least three separate lists corresponding to each of a circle data routing configuration, a cell ID-based routing configuration, and an SDCA-based routing configuration. The memory may be configured to store preprocessed data and a set of predefined parameters (e.g., validity, priority, and weightage) according to which an FQDN is allocated to the incoming message corresponding to an MGCF pool. The memory (204) may include any non-transitory storage device including, for example, volatile memory such as random-access memory (RAM), or non-volatile memory such as erasable programmable read only memory (EPROM), flash memory, and the like.
[0097] In an embodiment, the system (108) may include an interface(s) (206). The interface(s) (206) may include a variety of interfaces, for example, interfaces for data input and output devices (I/O), storage devices, and the like. The interface(s) (206) may facilitate communication through the system (108). The interface(s) (206) may also provide a communication pathway for one or more components of the system (108). Examples of such components include, but are not limited to, a processing engine (208).
[0098] In an embodiment, the processing engine (208) may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine (208). In the examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing engine (208) may be processor-executable instructions stored on a non-transitory machine-readable storage medium, and the hardware for the processing engine (208) may comprise a processing resource (for example, one or more processors) to execute such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine (208). In such examples, the system may comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the system and the processing resource. In other examples, the processing engine (208) may be implemented by electronic circuitry.
[0099] In an embodiment, the processing engine (208) may include a plurality of units. The plurality of units of the processing engine (208) may include, but is not limited to, a receiving unit (210), a determining unit (212), and a routing unit (214).
[00100] The receiving unit (210) is configured to receive a plurality of messages from the UE (104). In an embodiment, the receiving unit (210) is configured to receive the plurality of messages via the S-CSCF (120). In an example, the plurality of incoming messages is selected from a group consisting of telephonic calls, web-based communications, voice-over-IP communications, and real-time text interactions. The telephonic Calls are traditional telephone calls made over public switched telephone networks (PSTN) or similar systems. The web-based communications include messages or interactions that occur through web-based platforms or applications, such as web chats or online messaging services. The voice-over-IP communications include voice communications transmitted over the internet using voice-over-IP (VoIP) technology, such as VoIP calls made through calling applications. Additionally, the real-time text interactions include text-based interactions that occur in real time, often found in messaging or chat systems where responses are expected to be immediate.
[00101] In an example, the plurality of messages includes a call establishment request, or a session initiation protocol (SIP) request. The call establishment request typically involves a message that initiates the process of setting up a telephone call or similar communication session. This request contains information necessary to establish a connection between two parties, such as signaling details and participant identifiers. The system (108) is required to process this request to route the call to the appropriate destination, ensuring the connection is successfully established, and the call setup is managed efficiently.
[00102] On the other hand, the SIP request is a specific type of message used within IP-based communication systems. The SIP is a protocol widely employed for establishing, modifying, and terminating multimedia sessions, including voice and video calls over the Internet. The SIP requests are part of the signaling process that coordinates these multimedia sessions, handling aspects such as call initiation, session management, and termination. The SIP request provides the system (108) with essential details required to manage and control the communication session, facilitating smooth and efficient interaction between the involved parties.
[00103] Once the plurality of messages is received, the determining unit (212) is configured to determine at least one of a status of a trunk group routing protocol (TGRP) identifier (ID). In an aspect, the status is one of a present of the TGRP ID or an absence of the TGRP ID in at least one field of each received message. In an example, the at least one field is a request uniform resource identifier (URI) field. The TGRP is an approach used in telecommunications to manage the routing of calls based on identifiers associated with specific trunk groups. A trunk group refers to a collection of communication lines or circuits that are grouped together to handle a certain volume of traffic. The TGRP utilizes identifiers to determine which trunk group should handle an incoming call or communication session. This ensures that calls are routed efficiently through the appropriate network paths, optimizing network resources and maintaining quality of service. The URI field is a part of the message that specifies the target resource or destination for the request. In the case of call routing, the URI field may include information such as the destination address or identifier, which may be used to determine routing decisions.
[00104] In other words, when the processing engine (208) processes the plurality of messages, the determining unit (212) identifies the URI field to check for the presence of the TGRP ID. This identification process involves parsing the message to locate and extract the TGRP ID, if present. If the TGRP ID is found, it indicates that the call should be routed according to the trunk group routing configuration associated with that identifier. Conversely, if the TGRP ID is absent, the system (108) may employ alternative routing methods based on different configurations.
[00105] Upon determining, if the TGRP ID is present in the at least one field (e.g., request URI field), the processing engine (208) may further select a media gateway control function (MGCF) pool based on a TGRP routing configuration associated with the present TGRP ID.
[00106] The TGRP routing configuration includes a set of rules (e.g., network availability, load balancing, routing priority, geographical routing, and the like) or parameters (Service Level Agreements (SLAs), bandwidth requirements, and the like) associated with each TGRP ID. These configurations define how calls should be routed based on the TGRP ID. In an aspect, the TGRP routing configuration is based on a trunk group ID of the called party number. The TGRP routing configuration includes criteria such as which MGCF pools are available, their capabilities, and how they should be prioritized for handling the call. The MGCF pool includes a group of MGCFs that manage the signaling and control aspects of media gateways within the network.
[00107] For example, consider a network environment where multiple MGCFs are deployed to manage voice and video calls. These MGCFs coordinate the signaling necessary for establishing and terminating calls, ensuring that media streams are correctly routed between endpoints. If a call setup request is received, the MGCF pool works together to determine the best MGCF to handle the request based on factors like load balancing and network conditions. Each MGCF in the pool is equipped to handle specific signaling tasks, such as converting signaling protocols or managing session states.
[00108] In practice, if a call is initiated between two users, the MGCF pool may include MGCFs that manage various aspects of the call, such as signaling for call initiation, handling call transfers, and managing session continuity. By distributing these tasks among multiple MGCFs, the network may efficiently manage high volumes of calls, provide redundancy in case of MGCF failures, and ensure optimal performance.
[00109] The processing engine (208) may further retrieve the selected MGCF pool from an MGCF pool-based configuration. For example, consider a scenario where the MGCF pool configuration includes information about multiple MGCF pools, each with specific attributes such as geographical location, capacity, and current load. If the selected MGCF pool is identified as having high capacity and optimal geographical placement, the processing engine (208) may retrieve this MGCF pool details to ensure that it is the best fit for handling the incoming call.
[00110] Following the retrieval of the selected MGCF pool, the processing engine (208) further selects a fully qualified domain name (FQDN) from a list of FQDNs associated with the retrieved MGCF pool based on a set of predefined parameters. The term “Fully Qualified Domain Name (FQDN)” refers to a domain name that specifies the exact location of a server or service within the hierarchical Domain Name System (DNS). The FQDN includes a hostname and a domain name and is used to uniquely identify and access network resources, such as servers or services. In an example, the set of parameters includes factors such as, but are not limited to, a validity of the FQDN, a priority of the FQDN, and a weightage of the FQDN. In an aspect, the MGCF pool routing configuration is based on the selected MGCF pool from the TGRP configuration.
[00111] For example, if the retrieved MGCF pool is associated with multiple FQDNs, the processing engine (208) may evaluate each FQDN based on its validity (e.g., whether it is currently active and available), its priority (e.g., whether it should be preferred over others), and its weightage (e.g., how heavily it should be used based on current load). For example, if FQDN1 has the highest priority and weightage among the list, and it is valid, the processing engine (208) may select the FQDN1 to route the call through the appropriate MGCF.
[00112] In case the TGRP ID is absent in the at least one field, the processing engine (208) may select the MGCF pool based on at least one defined (e.g., customized) routing configuration. In other words, upon determining, if the TGRP ID is not found in the request URI field, the system (108) may provide a customized call routing based on the at least one defined routing configuration. In an embodiment, the at least one defined routing configuration is selected from a group consisting of a circle routing configuration, a cell ID-based routing configuration, and a short distance charging area (SDCA)-based routing configuration.
[00113] In an exemplary embodiment, if the TGRP ID is not present in the request URI of the message, the processing engine (208) may select the MGCF pool based on a predefined sequence of routing configurations. The predefined sequence may be customizable and may include, but is not limited to, the following steps: initially, the processing engine (208) may attempt to apply a circle based routing configuration. If the circle data is not available or configured, the processing engine (208) may proceed to analyze and apply a cell ID-based routing configuration. In cases where neither the circle data nor cell ID-based configurations are defined, the system (108) may utilize the SDCA-based routing configuration to select the MGCF pool. It should be noted that, in the present exemplary embodiment, the selection process follows the predefined sequence as a general example; however, the system (108) may be configured to use different sequences or routing configurations depending on specific use cases or requirements.
[00114] Depending on the presence or absence of the TGRP ID, the routing unit (214) may be configured to route the call based on one of the selected FQDN or the selected MGCF pool associated with the at least one defined routing configuration.
[00115] In an aspect, the Short Distance Charging Area (SDCA)-based routing configuration is based on the SDCA data of the calling party and the routing data of the called party. The SDCA data refers to information that identifies the geographical location of the caller within a specific SDCA, a predefined area used for billing purposes in the telecom networks. The SDCA data includes the caller’s phone number, originating location within the SDCA, subscriber details, and the applicable local or regional tariffs. Additionally, the routing data consists of the information required to direct the call to its destination, such as the called party's phone number, central office codes, and destination SDCA or exchange. For SDCA-based routing, the MGCF pool is selected based on the SDCA data associated with the caller. The SDCA-based routing optimizes call routing by ensuring that calls within the same SDCA are routed efficiently to reduce costs and network load. The SDCA routing uses the pre-configured parameters to route calls based on the caller's SDCA, aligning with regional charging rules.
[00116] In an aspect, the circle routing configuration is based on the circle data of the calling party (e.g., A party) and the routing data of the called party (e.g., B party). The circle routing configuration allows for routing decisions based on geographic considerations and the matching of data patterns using pattern matching technique. When the call is routed based on the circle routing configuration, the processing engine (208) may select the MGCF pool based on the circle data, and the routing unit (214) of the processing engine (208) may route the call using the circle data of a calling party and routing data of a called party associated with the circle routing configuration. The circle data may refer to geographic information related to the A party, including details such as the circle code (a unique identifier for a specific region or telecom service area), subscriber information, applicable tariff plans, and other region-specific parameters. The routing data, on the other hand, refers to information related to the B party, which may include a set of parameters. The set of parameters may include, but is not limited to, the uniform resource identifier (URI) for the B party, route external for the B party, call type for the B party, routing to be stopped for the B party, and next route for the B party. The URI includes the phone number (e.g., "1036", "10346567") of B party and helps in directing the call to the correct recipient. Further, the route external for the B party parameter is a flag set to either “true” or “false”, indicating whether the call should be routed externally, outside the originating network. The call type parameter, such as “LOCAL”, specifies the type of call being handled, which may influence the routing decision and associated billing. The routing to be stopped parameter may be set to either “true” or “false”, indicating whether the routing process should be halted, and the call should continue along the designated path. The next route parameter specifies the subsequent route or media gateway to be used (e.g., “C_NE”, “S_461”, “T_C29”), ensuring that the call is directed to the appropriate next location in the network. The number analysis required parameter is set to either “true” or “false,” which denotes whether further number analysis is required for these routing scenarios.
[00117] The circle data and routing data are organized in the form of parameters, and each parameter is associated with a value. These values include one or more criteria, which are used as matching patterns. For example, the circle data for an A party may include a number pattern such as "+91[$]1234", which indicates a number starting with "+91" and ending with "1234". This matching pattern helps in identifying and routing calls based on geographical or service-specific attributes.
[00118] In this routing configuration, the processing engine (208) performs matching operations between the criteria (patterns) in the parameter-value pairs of both the circle data and routing data. If the criteria are met, the processing engine (208) selects the appropriate MGCF pool and routes the call accordingly. The system (108) thus enables optimized routing of calls based on the caller’s location and other regional parameters. This ensures that the call is routed efficiently, potentially reducing latency and optimizing network resources.
[00119] In another aspect, the cell ID routing configuration is based on the cell ID of the calling party and the routing data of the called party. The cell ID-based routing configuration is used to route traffic based on the ID of the serving cell. When the call is routed based on the cell ID-based routing configuration, the MGCF pool selection is determined by the cell ID associated with the calling party. Cell ID is a unique identifier assigned to a specific cell tower within the network, which helps identify the location of the calling party connected to that tower. The cell ID routing configuration uses the identification of the cell site or base station from which the call originated. In such cases, the call routing involves selecting the MGCF pool based on the cell ID of the calling party and routing the call using the routing data of the called party that corresponds to that specific cell ID. In other words, the cell ID-based routing configuration uses the cell ID of the calling party (A party) to route the call. The cell ID routing configuration ensures that calls originating from specific locations (as identified by their cell ID) are directed through media gateways best suited for that geographical area.
[00120] Like the circle data routing, the cell ID-based routing configuration consists of parameters, each of which is associated with a value, and these values contain criteria in the form of matching patterns. The processing engine (208) may analyze the cell ID data and perform matching operations to determine if the criteria are met. Upon successful matching, the call is routed based on the selected cell ID-based configuration.
[00121] In some embodiments, to route the call based on the at least one routing configuration, the processing engine (208) may analyze data associated with the calling party (A party) and the called party (B party). This data may include circle data, cell ID data, SDCA data, or routing data, each of which contains a set of parameters. In an example, the data includes a plurality of parameters. Each parameter in the data is associated with a value, and each value contains one or more criteria, such as a matching pattern. Upon analyzing, if the one or more criteria within the data are met, the processing engine (208) may route the call based on the at least one selected routing configuration.
[00122] For the sake of explanation, consider a scenario where the calling party (A party) has the following circle data and routing data:
[00123] Parameter: This refers to specific aspects of the data being analyzed. In the example, one such parameter may be the calling party's phone number.
[00124] Value: Each parameter has a corresponding value. For instance, if the parameter is the phone number, the value may be +91 9876543210, where +91 represents the country code and the remaining digits represent the local phone number.
[00125] Pattern: The value may be expressed as a pattern for matching purposes. For example, the phone number value may be represented as the pattern +91[$]9876****, where $ signifies the end of the string, and 9876 indicates the starting digits of the phone number, followed by a wildcard character (****) representing the remaining digits.
[00126] Criteria: The criteria refer to the conditions that must be satisfied for successful routing. In this case, the criteria may include matching the pattern +91[$]9876**** for the calling party’s phone number.
[00127] Similarly, the called party (B party) may have the following routing data:
[00128] Parameter: For the B party, the parameter may again be the phone number.
[00129] Value: The value might be +91 1234567890, where +91 is the country code, and the rest of the digits represent the called party’s number.
[00130] Pattern: The value for the called party may be expressed as the pattern +91[$]1234****, where 1234 indicates the starting digits and **** are wildcard characters for the rest of the number.
[00131] Criteria: The criteria for the B party would involve matching the pattern +91[$]1234****.
[00132] The criteria-matching process works by evaluating the patterns for both the A party and B party’s data. In such scenario, the processing engine (208) matches the calling party's data (for example, +91[$]9876****) with the routing configuration criteria. It performs a similar pattern-matching operation for the called party, matching the pattern +91[$]1234**** with the B party’s data.
[00133] If the criteria within the parameter-value pairs of both the A party and B party are satisfied (i.e., if the patterns match the corresponding data), the processing engine (208) proceeds to route the call based on the selected routing configuration. In this example, the processing engine (208) identifies the matching circle data and routing data for both parties and selects the appropriate MGCF pool to ensure optimal call routing.
[00134] In some embodiments, if the one or more criteria within the data are not met, the processing engine (208) may route the call based on a default routing configuration. The default configuration may be an option when none of the predefined routing configurations, such as circle-based routing or SDCA-based routing, can be applied due to unmatched criteria.
[00135] For example, if the processing engine (208) evaluates the data and fails to find the matching pattern for both the calling party and the called party, such as the absence of a corresponding circle code or SDCA data, the processing engine (208) may not follow the customized routing paths (e.g., circle-based or cell ID-based routing). Instead, the processing engine (208) may revert to a predefined default configuration, which may involve routing the call through a general-purpose media gateway that is not dependent on any specific regional, cell-based, or charging-area routing criteria.
[00136] The default routing configuration may be pre-configured in the system to ensure that even if advanced routing configurations fail, the call can still be processed. This ensures that the system (108) is resilient to data inconsistencies or incomplete data, maintaining call connectivity under all conditions.
[00137] Furthermore, in some embodiments, the processing engine (208) may also perform call blocking based on the selected routing configuration. Blocking may occur if certain predefined conditions in the routing configuration are not satisfied or if specific security, regulatory, or service-related criteria are violated. For instance, if the processing engine (208) detects that the caller's data, such as the circle code or SDCA, indicates that the call originates from a restricted region, or if there is a mismatch in the routing data (e.g., invalid phone number pattern or unauthorized service area), the system (108) may decide to block the call to prevent unauthorized access or incorrect routing.
[00138] For example, the processing engine (208) may be configured to use the selected routing configuration to block a specific routing or divert some users’ calls to a specific address. For example, a pattern like “^1234 [0-9]{4} $” could block any number starting with “1234” followed by four digits, and a pattern such as “^VIP [0-9]{3} $” may direct calls from VIP users to a special support address, while others are routed normally.
[00139] This mechanism of either routing the call through a default configuration or blocking it based on routing configuration safeguards the integrity and efficiency of the network. It ensures that calls are either routed correctly or not routed at all, preventing unauthorized routing decisions that could degrade service quality or lead to regulatory non-compliance.
[00140] In an embodiment, the system (108) is further configured to employ the pattern-matching technique to reduce entries in the defined routing configurations, promoting uniformity and reducing latency. The pattern-matching technique involves using a sequence of characters to define a search pattern that may match various text strings. The patterns are utilized to efficiently identify and process routing information within the defined routing configurations. By defining flexible and concise patterns, the system (108) may simplify routing rules, reducing the number of entries required in configuration files. This approach not only promotes uniformity across the routing configurations but also minimizes latency by accelerating the lookup and matching processes. As a result, the pattern-matching helps in optimizing call routing performance and reducing the overhead associated with managing complex configuration files.
[00141] In an embodiment, the system (108) is further configured to organize data effectively, which may require less storage space and enable better resource utilization. Additionally, the system (108) may be configured to provide well-structured data that can be processed more efficiently for faster data analysis.
[00142] Although FIG. 2 shows exemplary components of the system (108), in other embodiments, the system (108) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 2. Additionally, or alternatively, one or more components of the system (108) may perform functions described as being performed by one or more other components of the system (108).
[00143] FIG. 3A illustrates an exemplary flow diagram of a method (300A) for call routing in the BGCF (126), in accordance with an embodiment of the present disclosure.
[00144] At step (302A), the method (300A) includes receiving, by the receiving unit (210), a plurality of messages from the UE (104). In an example, the plurality of messages may be a call establishment request, or a session initiation protocol (SIP) request. In an example, the plurality of incoming messages is selected from a group consisting of a telephonic call, a web-based communication, a voice-over- (internet protocol) IP communication, and a real-time text interaction. Telephonic calls involve traditional voice communication over a phone network, while web-based communication includes emails and chats that may be asynchronous. VoIP utilizes internet protocols to facilitate voice conversations, offering features like video calls and messaging. Real-time text interaction enables immediate transmission of text as it is typed, enhancing responsiveness, especially for users who are deaf or hard of hearing.
[00145] At step (304A), the method (300A) includes determining, by the processing engine (208), at least one of a status of a trunk group routing protocol (TGRP) identifier (ID). The status is one of a present of the TGRP ID or an absence of the TGRP ID in at least one field of each received message. In an example, the at least one field is a request uniform resource identifier (URI) field.
[00146] Upon determining the status as absent, the method (300A) at step (306A) includes selecting, by the processing engine (208), the MGCF pool based on at least one defined routing configuration. In an example, the at least one defined routing configuration is selected from a group consisting of a circle routing configuration, a cell ID-based routing configuration, and a short distance charging area (SDCA)-based routing configuration.
[00147] At step (308A), the method (300A) includes routing, by the processing engine (208), the call based on the status of the TGRP ID and the at least one defined routing configuration.
[00148] In some embodiments, upon determining the status as absent, the method (300A) includes selecting the MGCF pool based on the circle routing configuration and routing the call using the circle data of the calling party and routing data of the called party associated with the circle routing configuration.
[00149] In some embodiments, upon determining the status as absent, the method (300A) includes selecting the MGCF pool based on the Cell ID-based routing configuration and routing the call using the cell ID of the calling party and routing data of the called party associated with the Cell ID-based routing configuration. In some embodiments, upon determining the status as absent, the method (300A) includes selecting the MGCF pool based on the SDCA-based routing configuration and routing the call using SDCA data of the calling party and routing data of the called party associated with the SDCA-based routing configuration.
[00150] In some embodiments, the method (300A) employs a pattern-matching technique to reduce entries in routing configuration files, promoting uniformity, and reducing latency.
[00151] In some embodiments, to route the call based on the at least one routing configuration, the method (300A) includes analyzing, by the processing engine (208), data associated with the calling party and the called party. In an example, the data includes a plurality of parameters, each parameter is associated with a value, and wherein the value comprises one or more criteria. Upon analyzing, if the one or more criteria within the data are met, the method (300A) further includes routing, by the processing engine (208), the call based on the at least one selected routing configuration.
[00152] In some embodiments, if the one or more criteria within the data are not met, the method (300A) further includes routing the call based on a default routing configuration. In some embodiments, the method (300A) further includes blocking, by the processing engine (208), the call routing based on the selected routing configuration.
[00153] FIG. 3B illustrates another exemplary flow diagram of a method (300B) for call routing in the BGCF, in accordance with an embodiment of the present disclosure. The exemplary flow diagram of FIG. 3B depicts a scenario for call routing when the status is determined as present in the at least one field.
[00154] At step (302B), the method (300B) includes receiving, by the receiving unit (210), a plurality of messages from the UE (104). In an example, the plurality of incoming messages is selected from a group consisting of a telephonic call, a web-based communication, a voice-over-IP communication, and a real-time text interaction.
[00155] At step (304B), the method (300B) includes determining, by the processing engine (208), at least one of a status of a trunk group routing protocol (TGRP) identifier (ID). The status is one of a present of the TGRP ID or an absence of the TGRP ID in at least one field of each received message. In an example, the at least one field is a request uniform resource identifier (URI) field.Upon determining the status as present, the method (300B) at step (306B) includes selecting, by the processing engine, the MGCF pool based on the TGRP routing configuration associated with the present TGRP ID.
[00156] The method (300B) at step (306B) further includes retrieving, by the processing engine (208), the selected MGCF pool from the MGCF pool-based configuration. In an example, the MGCF pool-based configuration may be stored in a memory associated with the MGCF (128).
[00157] Further, the method (300B) at step (306B)further includes selecting, by the processing engine (208), the fully qualified domain name (FQDN) from a list of fully qualified domain names (FQDNs) associated with the retrieved MGCF pool based on a set of predefined parameters. In an example, the set of predefined parameters comprises at least one of a validity of the FQDN, a priority of the FQDN, and a weightage associated with the FQDN.
[00158] At step (308B), the method (300B) includes routing, by the processing engine (208), the call based on the status of the TGRP ID.
[00159] FIG. 4 illustrates an exemplary computer system (400) in which or with which the embodiments of the present disclosure may be implemented.
[00160] As shown in FIG. 4, the computer system may include an external storage device (410), a bus (420), a main memory (430), a read-only memory (440), a mass storage device (450), communication port(s) (460), and a processor (470). A person skilled in the art will appreciate that the computer system may include more than one processor and communication ports. The processor (470) may include various modules associated with embodiments of the present disclosure. The communication port(s) (460) may be any of an RS-232 port for use with a modem-based dialup connection, a 10/100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports. The communication port(s) (460) may be chosen depending on a network, such a Local Area Network (LAN), Wide Area Network (WAN), or any network to which the computer system connects.
[00161] The main memory (430) may be random-access memory (RAM), or any other dynamic storage device commonly known in the art. The read-only memory (440) may be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chips for storing static information e.g., start-up or Basic Input/Output System (BIOS) instructions for the processor (470). The mass storage device (450) may be any current or future mass storage solution, which can be used to store information and/or instructions. Exemplary mass storage device (450) includes, but is not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and/or Firewire interfaces), one or more optical discs, Redundant Array of Independent Disks (RAID) storage, e.g., an array of disks.
[00162] The bus (420) communicatively couples the processor (470) with the other memory, storage, and communication blocks. The bus (420) may be, e.g., a Peripheral Component Interconnect (PCI)/PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), Universal Serial Bus (USB), or the like, for connecting expansion cards, drives, and other subsystems as well as other buses, such a front side bus (FSB), which connects the processor (470) to the computer system.
[00163] Optionally, operator and administrative interfaces, e.g., a display, keyboard, joystick, and a cursor control device, may also be coupled to the bus (420) to support direct operator interaction with the computer system. Other operator and administrative interfaces can be provided through network connections connected through the communication port(s) (460). Components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system limit the scope of the present disclosure.
[00164] The present disclosure provides technical advancement related to call routing in the BGCF. This advancement addresses the limitations of existing solutions by introducing a method and a system that utilizes both the Trunk Group Routing Protocol (TGRP) identifiers and defined (customized) routing configurations to optimize call management. The disclosure involves the use of the pattern-matching techniques to enhance the routing configuration and call routing accuracy. Additionally, it employs defined routing configurations such as circle routing, cell ID-based routing, and short distance charging area (SDCA)-based routing for call handling. These inventive aspects offer significant improvements in performance and efficiency by reducing latency, minimizing the complexity of configuration files, and improving routing accuracy. By implementing these advanced routing techniques, the present disclosure enhances the call processing efficiency, results in more precise call routing, and ultimately improves the overall service quality of the network.
[00165] While the foregoing describes various embodiments of the invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. The scope of the invention is determined by the claims that follow. The invention is not limited to the described embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to make and use the invention when combined with information and knowledge available to the person having ordinary skill in the art.
TECHNICAL ADVANTAGES OF THE PRESENT DISCLOSURE
[00166] The present disclosure provides a system and a method for call routing in the BGCF.
[00167] The present disclosure provides a system and a method for routing calls in the PSTN domain without relying on a database. This advancement eliminates the need for database queries, optimizing the call routing process and reducing latency.
[00168] The present disclosure provides a system and a method that allows routing the same number to different destinations based on the location of the caller. This capability ensures that calls are directed appropriately according to the caller’s geographical context, enhancing routing accuracy and flexibility.
[00169] The present disclosure provides a system and a method that employs a pattern-matching technique to reduce entries in the defined routing configurations, promoting uniformity and reducing latency.
[00170] The present disclosure provides a system and a method for customizing routing configurations based on circle data, routing data, short distance charging area (SDCA) data, cell-ID, and the like. The customization offers dynamic routing options that adapt to specific operational requirements or user-defined preferences, further enhancing routing precision and efficiency.
[00171] The present disclosure provides a system and a method for optimized storage by effectively organizing configuration data. This approach minimizes storage space requirements, leading to improved resource utilization and cost efficiency.
[00172] The present disclosure provides a system and a method that enhances data processing through well-structured data organization. This organization enables faster and more efficient data analysis, improving overall system performance and responsiveness.
[00173] The present disclosure provides a system and a method that supports scalability through efficient data organization. This ensures that the system can maintain high performance levels even under high loads, accommodating increased traffic and usage demands effectively.
,CLAIMS:Claims
We claim:
1. A method (300A) for call routing in a breakout gateway control function (BGCF) (126), the method (300A) comprising:
receiving (302A), by a receiving unit (210), a plurality of messages from a user equipment (UE) (104);
determining (304A), by a processing engine (208), at least one of a status of a trunk group routing protocol (TGRP) identifier (ID), wherein the status is one of a present of the TGRP ID or an absence of the TGRP ID in at least one field of each received message;
upon determining the status as absent,
selecting (306), by the processing engine (208), a media gateway control function (MGCF) pool based on at least one defined routing configuration; and
routing (308A), by the processing engine (208), a call based on the status of the TGRP ID and the at least one defined routing configuration.
2. The method (300A) as claimed in claim 1, wherein upon determining the status as present,
selecting, by the processing engine (208), the MGCF pool based on a TGRP routing configuration associated with the present TGRP ID;
retrieving, by the processing engine (208), the selected MGCF pool from a MGCF pool-based configuration; and
selecting, by the processing engine (208), a fully qualified domain name (FQDN) from a list of fully qualified domain names (FQDNs) associated with the retrieved MGCF pool based on a set of predefined parameters.
3. The method (300A) as claimed in claim 1, wherein the at least one field is a request uniform resource identifier (URI) field.
4. The method (300A) as claimed in claim 1, wherein the at least one defined routing configuration is selected from a group consisting of a circle routing configuration, a cell ID-based routing configuration, and a Short Distance Charging Area (SDCA)-based routing configuration.
5. The method (300A) as claimed in claim 4, further comprising:
selecting, by the processing engine (208), the MGCF pool based on the circle routing configuration; and
routing, by the processing engine (208), the call using a circle data of a calling party and a routing data of a called party associated with the circle routing configuration.
6. The method (300A) as claimed in claim 4, further comprising:
selecting, by the processing engine (208), the MGCF pool based on the cell ID-based routing configuration; and
routing, by the processing engine (208), the call using a cell ID of a calling party and a routing data of a called party associated with the cell ID-based routing configuration.
7. The method (300A) as claimed in claim 4, further comprising:
selecting, by the processing engine (208), the MGCF pool based on the SDCA-based routing configuration; and
routing, by the processing engine (208), the call using a SDCA data of a calling party and a routing data of a called party associated with the SDCA-based routing configuration.
8. The method (300A) as claimed in claim 4, wherein routing the call based on the at least one routing configuration comprises:
analyzing, by the processing engine (208), data associated with the calling party and the called party, wherein the data comprises a plurality of parameters, each parameter is associated with a value, and wherein the value comprises one or more criteria; and
upon analyzing, if the one or more criteria within the data are met, routing, by the processing engine (208), the call based on the at least one selected routing configuration.
9. The method (300A) as claimed in claim 8, wherein if the one or more criteria within the data are not met, routing the call based on a default routing configuration.
10. The method (300A) as claimed in claim 8, further comprising:
blocking, by the processing engine (208), the call routing based on the selected routing configuration.
11. The method (300A) as claimed in claim 1, wherein the set of predefined parameters comprises at least one of a validity of the FQDN, a priority of the FQDN, and a weightage associated with the FQDN.
12. A system (108) for call routing in a breakout gateway control function (BGCF) (126), the system (108) comprising:
a memory (204); and
a processing engine (208) communicatively coupled with the memory (204), configured to:
receive, via a receiving unit (210), a plurality of messages from a user equipment (UE) (104);
determine at least one of a status of a trunk group routing protocol (TGRP) identifier (ID), wherein the status is one of a present of the TGRP ID or an absence of the TGRP ID in at least one field of each received message;
upon determining the status as absent,
selecting the MGCF pool based on at least one defined routing configuration; and
routing a call based on the status of the TGRP ID and the at least one defined routing configuration.
13. The system (108) as claimed in claim 12, wherein upon determining the status as present, the processing engine (208) is configured to:
select a media gateway control function (MGCF) pool based on a TGRP routing configuration associated with the present TGRP ID;
retrieve the selected MGCF pool from a MGCF pool-based configuration; and
select a fully qualified domain name (FQDN) from a list of fully qualified domain names (FQDNs) associated with the retrieved MGCF pool based on a set of predefined parameters
14. The system (108) as claimed in claim 12, wherein the at least one field is a request uniform resource identifier (URI) field.
15. The system (108) as claimed in claim 12, wherein the at least one defined routing configuration is selected from a group consisting of a circle routing configuration, a cell ID-based routing configuration, and a short distance charging area (SDCA)-based routing configuration.
16. The system (108) as claimed in claim 15, wherein the processing engine (208) is configured to:
select the MGCF pool based on the circle routing configuration; and
route the call using a circle data of a calling party and a routing data of a called party associated with the circle routing configuration.
17. The system (108) as claimed in claim 15, wherein the processing engine (208) is configured to:
select the MGCF pool based on the cell ID-based routing configuration; and
route the call using a cell ID of a calling party and a routing data of a called party associated with the cell ID-based routing configuration.
18. The system (108) as claimed in claim 15, wherein the processing engine (208) is configured to:
select the MGCF pool based on the SDCA-based routing configuration; and
route the call using a SDCA data of a calling party and a routing data of a called party associated with the SDCA-based routing configuration.
19. The system (108) as claimed in claim 15, wherein to route the call based on the at least one routing configuration, the processing engine (208) is configured to:
analyze data associated with the calling party and the called party, wherein the data comprises a plurality of parameters, each parameter is associated with a value, and wherein the value comprises one or more criteria; and
upon analyzing, if the one or more criteria within the data are met, route the call based on the at least one selected routing configuration.
20. The system (108) as claimed in claim 19, wherein if the one or more criteria within the data are not met, routing the call based on a default routing configuration.
21. The system (108) as claimed in claim 19, the processing engine (208) is configured to:
blocking, by the processing engine (208), the call routing based on the selected routing configuration.
22. The system (108) as claimed in claim 12, wherein the set of predefined parameters comprises at least one of a validity of the FQDN, a priority of the FQDN, and a weightage associated with the FQDN.
| # | Name | Date |
|---|---|---|
| 1 | 202321072994-STATEMENT OF UNDERTAKING (FORM 3) [26-10-2023(online)].pdf | 2023-10-26 |
| 2 | 202321072994-PROVISIONAL SPECIFICATION [26-10-2023(online)].pdf | 2023-10-26 |
| 3 | 202321072994-FORM 1 [26-10-2023(online)].pdf | 2023-10-26 |
| 4 | 202321072994-FIGURE OF ABSTRACT [26-10-2023(online)].pdf | 2023-10-26 |
| 5 | 202321072994-DRAWINGS [26-10-2023(online)].pdf | 2023-10-26 |
| 6 | 202321072994-DECLARATION OF INVENTORSHIP (FORM 5) [26-10-2023(online)].pdf | 2023-10-26 |
| 7 | 202321072994-FORM-26 [28-11-2023(online)].pdf | 2023-11-28 |
| 8 | 202321072994-Proof of Right [06-03-2024(online)].pdf | 2024-03-06 |
| 9 | 202321072994-DRAWING [23-10-2024(online)].pdf | 2024-10-23 |
| 10 | 202321072994-COMPLETE SPECIFICATION [23-10-2024(online)].pdf | 2024-10-23 |
| 11 | 202321072994-FORM-5 [25-11-2024(online)].pdf | 2024-11-25 |
| 12 | Abstract.jpg | 2025-01-16 |
| 13 | 202321072994-Power of Attorney [24-01-2025(online)].pdf | 2025-01-24 |
| 14 | 202321072994-Form 1 (Submitted on date of filing) [24-01-2025(online)].pdf | 2025-01-24 |
| 15 | 202321072994-Covering Letter [24-01-2025(online)].pdf | 2025-01-24 |
| 16 | 202321072994-CERTIFIED COPIES TRANSMISSION TO IB [24-01-2025(online)].pdf | 2025-01-24 |
| 17 | 202321072994-FORM 3 [24-02-2025(online)].pdf | 2025-02-24 |
| 18 | 202321072994-FORM 18 [20-03-2025(online)].pdf | 2025-03-20 |