CN120569947A - SIP routing engine data - Google Patents
SIP routing engine dataInfo
- Publication number
- CN120569947A CN120569947A CN202480008527.0A CN202480008527A CN120569947A CN 120569947 A CN120569947 A CN 120569947A CN 202480008527 A CN202480008527 A CN 202480008527A CN 120569947 A CN120569947 A CN 120569947A
- Authority
- CN
- China
- Prior art keywords
- sip
- sre
- routing
- route
- routes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
- H04L45/3065—Route determination based on the nature of the carried application for real time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Telephonic Communication Services (AREA)
Abstract
一种由会话发起协议(SIP)路由引擎(SRE)实现的用于整理和传输一个或多个SIP路由的结构化的SIP路由数据的方法;一种由SRE引擎实现的用于接收和存储结构化的SIP路由数据的方法;以及一种包括第一SRE和第二SRE的系统,由此SIP路由数据在两者之间被传送。
A method implemented by a Session Initiation Protocol (SIP) routing engine (SRE) for organizing and transmitting structured SIP routing data for one or more SIP routes; a method implemented by an SRE engine for receiving and storing structured SIP routing data; and a system including a first SRE and a second SRE, whereby SIP routing data is transmitted between the two.
Description
Technical Field
The SIP routing engine, in particular, sends and receives SIP routing data from and at the SIP routing engine.
Background
Session Initiation Protocol (SIP) is a signaling protocol for initiating, maintaining, and terminating communication sessions. For example, the communication session may involve a voice, video, and/or messaging application. SIP is commonly used for internet telephony, private IP telephony systems, and as a mobile telephone call over LTE. A SIP Routing Engine (SRE) is a system that routes an incoming SIP call to the correct destination. The SRE has a routing database and logic configured to route for paths in the database of the SRE. An SRE may be part of or associated with one or more ISPs. A national telephone operator (NPO) is a company that provides telephone services locally within a country. A country may have multiple NPOs, with each respective NPO having a subset of the total telephone numbers of the country. An International Service Provider (ISP) is a service provider that provides international SIP call services to one or more local national operators. For example, an ISP may receive an international SIP call from a first NPO in a first country and route it to a second NPO in a second country. The ISP uses the SRE to route SIP calls between NPOs and/or other ISPs.
A single ISP is not directly connected to all NPOs in the world. To address this problem, a single ISP may be directly connected to a subset of NPOs that cover some parts of the world, and rely on other ISPs to provide connections to other parts of the world to which the single ISP is not directly connected. There are a large number of ISPs in the world and an international SIP call from an originating NPO can complete many hops between different ISPs before the call reaches the final destination NPO. To help route calls, an ISP may use an SRE as a core routing system that the ISP uses to route calls between NPOs or other ISPs to enable international calls to reach intermediate or final destinations.
SIP calls are routed internationally based on the destination number prefix that the call sender is attempting to reach. There may be many possible routes for each number prefix, each with different audio quality, different hop count, or other criteria. Depending on the NPO or ISP's protocol with the call sender and the next hop situation, the NPO or IPS may, for example, decide to route the call via a high quality route or a low quality route, or not.
4G and 5G are fourth and fifth generation broadband cellular network technologies. Calls routed via the SIP network may be from and/or to 4G or 5G endpoints, such as handheld cellular devices.
Disclosure of Invention
The following presents a simplified summary of the disclosure in order to provide a basic understanding to the reader. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Its sole purpose is to present a selection of the concepts disclosed herein in a simplified form as a prelude to the more detailed description that is presented later.
A first aspect of the present invention is a method implemented by a Session Initiation Protocol (SIP) routing engine for transmitting structured SIP routing data. The method includes sorting SIP routing data, the SIP routing data including one or more SIP routes, each respective SIP route of the one or more SIP routes including an endpoint of the respective route, each endpoint being a national telephone operator (NPO) endpoint or an International Service Provider (ISP) endpoint, constructing the sorted SIP routing data in a predetermined format to produce structured SIP routing data, generating a message including the structured SIP routing data, and transmitting the generated message according to a predetermined schedule.
A second aspect of the present invention is a method implemented by a Session Initiation Protocol (SIP) routing engine for receiving structured SIP routing data. The method includes receiving a message, the received message including structured SIP routing data in a predetermined format, extracting one or more SIP routes from the received message, each respective SIP route of the one or more SIP routes including an endpoint of the respective route, each endpoint being a national telephone operator (NPO) endpoint or an International Service Provider (ISP) endpoint, and adding the extracted one or more SIP routes to an internal routing table of a SIP Routing Engine (SRE).
A third aspect of the present invention is a computerized system comprising a first Session Initiation Protocol (SIP) routing engine (SRE) comprising one or more processors, and a second SRE comprising one or more processors. The system is configured to sort, by a first SRE, SIP routing data including one or more SIP routes, each respective one of the one or more SIP routes including an endpoint of the respective route, each endpoint being a national telephone operator (NPO) endpoint or an International Service Provider (ISP) endpoint, construct, by the first SRE, the sorted SIP routing data in a predetermined format to produce structured SIP routing data, transmit, by the first SRE, a message including the structured SIP routing data to a second SRE according to a predetermined schedule, extract, by the second SRE, one or more SIP routes from the transmitted message, and add, by the second SRE, one or more of the extracted one or more SIP routes to an internal routing table of the second SRE.
Many of the attendant features will be more readily appreciated as the same becomes better understood by reference to the following detailed description considered in connection with the accompanying drawings.
Drawings
The specification will be better understood by reading the following detailed description in conjunction with the drawings in which:
FIG. 1 shows a schematic diagram of a call routing system;
fig. 2 shows transmitted routing data;
FIG. 3 shows a schematic diagram of a message;
Fig. 4 illustrates a flow chart of a method implemented by a first SRE for transmitting structured SIP routing data;
fig. 5 illustrates a flow chart of a method implemented by a second SRE for receiving structured SIP routing data;
Figure 6 shows a flow chart of a system including a first SRE transmitting structured SIP routing data to a second SRE, and
FIG. 7 illustrates an exemplary computing-based device suitable for implementing the methods, systems, or portions thereof disclosed herein.
In the drawings, like reference numerals are used to denote like parts.
Detailed Description
The SIP Routing Engine (SRE) transmits structured SIP routing data in messages containing structured routing information collected by the SRE, which provides an improved way to propagate SIP routing information through the network. Automatically sending the automatic routing information message in a predetermined schedule ensures that accurate and up-to-date routing information is shared across the network, thereby reducing dropped calls and avoiding unconnected calls. Moreover, the latest routing information means that calls will be routed via the most appropriate path, which will increase the overall efficiency of the network, thus enabling greater call capacity. Automatic receipt of the routing information message by the SRE and updating of the routing table within the SRE with the received routing information propagates the accurate routing information. After receiving the message, the SRE may then send routing information to another SRE/entity, including both the received routing information and additional routing information already present in the SRE routing table. Alternatively or additionally, after receiving the message, the SRE may automatically respond to the originally sent SRE with a message containing additional routing information already present in the received SRE routing table, such that the routing information flows in multiple directions on the network.
Calls routed by one or more SREs through the SIP network may flow from and/or to the wireless device as an endpoint. The wireless device may transmit the call over the wireless connection using cellular network technology such as 4G or 5G.
The detailed description provided below in connection with the appended drawings is intended as a description of the present examples and is not intended to represent the only forms in which the present examples may be constructed or utilized. The description sets forth the functions of the examples and the sequence of operations for constructing and operating the examples. However, the same or equivalent functions and sequences may be accomplished by different examples.
Although the present examples are described and illustrated herein as a method or implemented in a system, the methods and systems described herein are provided by way of example and not limitation. As will be appreciated by one of skill in the art, the present examples are applicable to a variety of different types of methods, computer-readable media, and systems.
Fig. 1 shows a schematic diagram of a call routing system 100. The first international service provider (ISP 1) 111 and the second international service provider (ISP 2) 112 are indicated by solid lines. ISP1 and ISP2 are directly connected 122 to each other, i.e., data is transmissible between ISP1 and ISP 2. The directly connected ISPs shown may indicate that they belong to and/or are operated by separate entities with service protocols and/or calls between them being variable between the two ISPs 111, 112.
Four national telephone operators (NPOs) are further shown with solid lines, where each NPO routes to all telephone numbers of the indicated country. The first NPO 101 is for the telephone number in the united kingdom, i.e. the telephone number starting with country code +44, the second NPO 102 is for the telephone number in france starting with country code +35, the third NPO 103 is for the telephone number in germany starting with country code +39, and the third NPO 104 is for the telephone number in mexico starting with country code +52. ISP1 may route calls to telephone numbers in the United kingdom and France, while ISP2 112 may route calls to telephone numbers in Germany and Mexico. In fig. 1 two telephony endpoints are shown, a UK telephony endpoint 131 connected to the first NPO 101 via a british country connection 131 and a german telephony endpoint 133 connected to the third NPO 103 via a german country connection 133.
Uk phone endpoint 131 may be a wireless/cellular device that includes a modem incorporating 4G and/or 5G technology. For example, a call may be initiated at an endpoint supporting 5G and the call data is wirelessly transmitted to a base station over 5G using voice before the call data is routed through a SIP network including NPO and ISP.
In order for an ISP to route calls properly, the ISP has an associated SIP Routing Engine (SRE), not shown separately in fig. 1, that includes information in at least one routing table that may take for subsequent hops for call data. The subsequent hop may be a direct connection to an ISP owned and/or operated by the same entity or another entity. In the examples described herein, a direct connection between two entities means that the two entities have established a protocol for routing media (e.g., telephone calls) therebetween. An entity such as an SRE may include a list or database of other entities with which direct connections are maintained, which may be reviewed in deciding whether to share routing information with a particular other entity, i.e., to share routes only with the direct connections listed in the list/database. In addition, routing information associated with a second ISP (or corresponding SRE) maintained by the first ISP (or corresponding SRE) will not be sent to the second ISP (or corresponding SRE) because the second ISP (or corresponding SRE) will be the source of the information.
It is important for the SRE to contain up-to-date routing information so that the associated ISP can make the most efficient routing. The use of outdated routing information may cause the ISP to route the data through invalid subsequent hops, whereby the call data will be discarded before it reaches the destination. It is also an object to transmit data over a connection with an appropriate quality of service with a small number of hops to make efficient use of the available channels and connections, which may involve measuring the audio quality for the route, the audio quality of the codec used by the route and/or some other criteria.
To improve routing performance, routing data should be kept up to date, which may be performed by transferring up to date routing data between SREs (i.e., between ISP1 and ISP2 of fig. 1). The following is exemplary routing information 1 for ISP1 presented in this example in a standardized manner using JSON format. Other formats, whether human-readable or non-human-readable, may also be used.
The above described ISP1 routing information 210 is shown in fig. 2 and presents information about two NPOs 101, 102 to which ISP1 has a direct connection. The routing information for each NPO includes an indication of the range of reachable telephone numbers 212, 216, an indication of quality of service (QoS) 213, 217, an indication of domains 214, 218, and an indication of hop count 215, 219 between ISP1 and the associated NPO. The domain field contains the domain name of the next hop to which the call should be sent if a route is selected. In the example of fig. 1, the indication of the range of reachable telephone numbers relates to the whole country for simplicity, however this may be a subset of the telephone numbers of the whole country.
The above ISP1 routing information may be stored by the SRE associated with ISP1. In addition, the SRE may transmit ISP1 routing information to another SRE so that the other SRE may route data through ISP1 and thus to either the british NPO 101 or the french NPO 102. The routing information may be automatically sent to another SRE periodically when some aspect of the routing information of ISP1 changes or is otherwise triggered. The automatic transmission of ISP1 information to ISP2 enables the SRE associated with ISP2 to add/remove/update routing extensions from its own database and selectively route calls to ISP1 based on the latest routing information.
ISP2 may automatically provide ISP1 with conventional routing information for NPO(s) connected to ISP2 via the SRE associated with ISP 2. The transmission of the routing information may be performed periodically or may be triggered by a specific event, such as the receipt of routing data from another entity on the network. Note that ISP1 and ISP2 are not connected to other ISPs in the example of fig. 1, where the objects are solid lines. Thus, no other ISP's routing information is sent between ISP1 and ISP2, as sending data about ISP1 to ISP1 would mean sending redundant information.
The following is exemplary routing information 2 for ISP2 presented in a standardized manner.
The above described ISP2 routing information 220 is shown in fig. 2 and presents information about the two NPOs 103, 104 to which ISP2 is directly connected. The routing information for each NPO includes an indication of the range of reachable telephone numbers 222, 226, an indication of quality of service (QoS) 223, 227, an indication of the hop count 225, 229 between ISP2 and the associated NPO.
Now, the features shown with dashed lines in fig. 1 are considered to be connected to the features shown with solid lines in fig. 1. In this example, another ISP, ISP3 113, has been connected to ISP1 as a direct connection (and is connected to ISP2 via a single hop connection). ISP1 will send routing information to ISP3 so that ISP3 can quickly route data through ISP1 to the forward network(s) and endpoints.
The following is exemplary routing information 3 presented in a standardized manner for ISP1 sent to ISP 3.
In the above routing information for ISP1 sent to ISP3, ISP1 provides all number prefixes that are directly or indirectly reachable by ISP1 through ISP 2. The domain field indicates ISP1 because call data to any listed route must pass through ISP1, e.g., telephone calls from ISP3 to +52 prefixes must pass through ISP1 before ISP2 in order to reach mexico NPO 104. Upon receiving the routing information from ISP1, ISP3 may store the information in an associated routing table so that the SRE of ISP3 may route the call through ISP 1.
As described above, connections and routes may be changed. This means that updates of routing information can be sent from the ISP (or associated SRE) to other ISPs so that all ISPs have the most up-to-date routing information, so traffic is directed onto the most efficient route and fewer packets are dropped as the ISP attempts to route traffic through non-current paths. This is not only the entire route that can be added or removed, for example, because the ISP can no longer deliver to the number prefix, but the characteristics of the route can also change, such as the codec supported by the route, the number of hops required to reach the destination, etc. The transmission of routing information as described herein enables the most up-to-date routing information to be quickly and accurately transmitted and may be automatically performed by or on behalf of an ISP at scheduled intervals (e.g., every minute) upon detection of a change in routing and/or upon receipt of updated routing information. An ISP receiving routing information may update the associated SRE and its routing table.
Another example based on fig. 1 is that in the event that ISP2 removes a route to prefix +49 or the route is no longer available to ISP2, the route information of the associated SRE is updated to remove the route. The next time ISP2 sends routing data to ISP1, it will remove NPO prefix +49 from its routing information. Following is exemplary routing information 4 presented in a standardized manner for ISP2 sent to ISP1 after NPO prefix +49 is removed.
ISP1 will receive updated routing information from ISP2 and the associated SRE of ISP1 will receive updated routing information and update its routing table. Routing information for ISP2 routes to prefix +49 will be removed from the SRE routing table and ISP1 will send updated routing information to ISP3 immediately or after the scheduled time-the following is exemplary routing information presented in a standardized manner.
ISP3 will receive the above routing information from ISP1 and the routing table associated with ISP3 will be updated, whereby the route to +49 will be removed and thus not used by ISP 3.
Fig. 3 shows a schematic diagram of a SIP message 300 as an example of how routing information may be transmitted. SIP message 300 may include four main parts, a start line 301, sometimes referred to as a start line, that defines a request and provides a Uniform Resource Identifier (URI) for where the request is to be sent, a header field 301 that conveys information about the message, a separator 303 of blank lines, and a message body 304 that contains routing information. The SIP message may be sent as a request, such as an option type request or a message type request.
Other types of electronic messages besides SIP messages may carry routing information between network entities.
Fig. 4 illustrates a flow chart of a method 400 implemented by a first SRE for transmitting structured SIP routing data. Method 400 is implemented by an SRE for transmitting structured SIP routing data. Block 401 recites "grooming SIP routing data" and relates to grooming SIP routing data that includes one or more SIP routes, each respective SIP route of the one or more SIP routes including an endpoint of the respective route, each endpoint being a national telephone operator (NPO) endpoint or an International Service Provider (ISP) endpoint. Block 402 involves constructing consolidated SIP routing data in a predetermined format to produce structured SIP routing data. Block 403 relates to generating a message comprising structured SIP routing data. Block 404 involves transmitting the generated message.
The method may be performed periodically or in response to a specific trigger, such as receiving a transmission of routing data or in response to a new direct connection to an ISP or NPO.
The method may be performed automatically by the SRE, i.e. the method may be fully automated by the SRE to increase the accuracy and frequency of the routing data to be transmitted.
The generated message may have the destination address of the second SRE so that the routing table of the corresponding SRE may be updated directly instead of relying on the routing data to be forwarded to the SRE. This feature enables routing information to be distributed quickly over the SIP network, thereby improving the efficiency of the network and reducing discarded data.
The media data session may be activated between the first SRE and the second SRE before the first SRE transmits the generated message containing the routing data to the second SRE. The method of fig. 4 may be performed on a real-time network to increase the performance of the network without any network downtime.
By transmitting structured routing data in the body of the SIP message, any SIP network is able to send the routing data because the SIP message has an established protocol.
The structured SIP routing data may be one or more of a range of addresses applicable to the respective SIP route, a range of telephone numbers applicable to the respective SIP route, an indication of quality of service applicable to the respective SIP route, an indication of a codec used to transmit the data over the respective SIP route, an address or domain that the SRE will use to send the next hop of traffic over the respective SIP route, and/or an indication of a hop count from an endpoint to a destination address of the respective SIP route. However, additional routing information may also be included in the routing data.
In one example, the method includes comparing the criteria of the one or more SIP routes to the criteria of the policy, and based on the comparison, selectively including in the structured SIP routing data the one or more SIP routes that satisfy the criteria of the policy. Policies may reflect security provisions to enable control of the flow of routing data information to third parties. The SRE does not always need to transfer all routes stored in the SRE routing table to another SRE. The SRE will only transmit route data corresponding to the route selected for transmission to another SRE. To facilitate this, the SRE may create a sharing policy for one, more, or all other SREs. The policy controls which routing data is shared. These policy rules help give the SREs more control and flexibility over the services they provide. It also provides security because it prevents bad actors from advertising connectivity to endpoints that they do not actually provide connectivity.
The compared criteria may relate to one or more of a range of addresses, a range of telephone numbers, quality of service, a codec, an address or field of a next hop, and/or an indication of a hop count. The policy may be associated with an SRE located at the destination address or an SRE reachable via the destination address.
The SIP routing data transmitted in the message may be a subset of the total SIP routing data stored by the first SRE. Furthermore, the selection of a SIP route for transmission in a message to the second SRE may depend on the identity of the second SRE. A particular SRE or selected groups of SREs may receive reduced data to ensure network security.
Fig. 5 illustrates a flow chart of a method 500 implemented by a second SRE for receiving structured SIP routing data. The method 500 includes receiving 501 a message, the received message including structured SIP routing data in a predetermined format, extracting 502 one or more SIP routes from the received message, and adding 503 the extracted one or more SIP routes to an internal routing table of a SIP Routing Engine (SRE). Each respective SIP route of the one or more SIP routes may include an endpoint of the respective route, and each endpoint may be an NPO endpoint or an ISP endpoint.
The received message may be a SIP message and the structured SIP routing data is in the body of the SIP message, as described above with respect to fig. 4.
Further, as described above with respect to fig. 4, the structured SIP routing data may include a range of telephone numbers applicable to the respective SIP route, an indication of quality of service applicable to the respective SIP route, an indication of a codec used to transmit data over the respective SIP route, an address or domain that the SRE will use to send a next hop of traffic over the respective SIP route, and/or an indication of a hop count from an endpoint to a destination address of the respective SIP route.
The method may include comparing the extracted criteria of the one or more SIP routes with the criteria of the policy and, based on the comparison, selectively adding the compared one or more SIP routes that satisfy the criteria of the policy to an internal routing table of the SRE. In this way, not all received routing data is added to the SRE routing table. The SRE need not add all received routing data to the routing table. To facilitate this, the SRE may create an acceptance policy for one, more, or all other SREs. The policy controls which routing data is received to be shared or added to the routing table. These policy rules help give the SREs more control and flexibility over the services they provide. It also provides security because it prevents a third party from advertising connectivity to a destination that it will not provide connectivity.
The compared criteria relate to one or more of a range of addresses, a range of telephone numbers, quality of service, a codec, an address or field of the next hop, and/or an indication of the number of hops. The plurality of SIP routes may be extracted from the received message, but only a subset of the extracted plurality of SIP routes may be added to the internal routing table of the SRE. Any SIP routes that are deemed unnecessary, non-current, unsafe, etc. may be discarded.
The methods and systems discussed herein are secure in that endpoints such as ISPs and NPOs will not discover unknown direct connections through the described process, i.e., the SRE will only transmit routes to other SREs or NPOs known to the transmitting SRE. Moreover, the SRE receives routing information from its unknown party without adding the received routing information to the SRE routing table. Further, the optional use of SIP messages to send and receive routing information enables additional security available to SIP messaging systems to ensure that an identity can be trusted when sending or receiving SIP messages containing routing information.
Another benefit of the present invention is that invalid routes can be identified by entities such as ISPs and the associated routing engine can immediately remove the invalid route information from its routing table and quickly and safely distribute the update over the direct connection, which can then also automatically remove the invalid route information. The revocation of invalid routes may thus be quickly propagated through the network and automatically handled.
The methods and systems disclosed herein enable efficient route sharing among ISPs, which may have thousands of routes stored in their routing tables. Route sharing may also occur between an ISP (particularly an ISP's SRE) and an NPO, whereby the NPO populates NPOSRE with received routing information to route international calls to the ISP.
Fig. 6 illustrates a flow chart of a system that includes a first SRE transmitting structured SIP routing data to a second SRE. A computerized system includes a first SRE having one or more processors and a second SRE having one or more processors. The system is configured to sort 601SIP routing data by a first SRE, the SIP routing data comprising one or more SIP routes, construct 602 the sorted SIP routing data in a predetermined format by the first SRE to produce structured SIP routing data, transmit 603 a message comprising the structured SIP routing data by the first SRE to a second SRE, extract 604 the one or more SIP routes from the transmitted message by the second SRE, and add 605 one or more of the extracted one or more SIP routes to an internal routing table of the second SRE by the second SRE. Each respective SIP route of the one or more SIP routes may include an endpoint of the respective route, and each endpoint may be an NPO endpoint or an ISP endpoint.
The first SRE and/or the second SRE may be implemented at least in part using hardware logic selected from any one or more of a field programmable gate array, a program-specific integrated circuit, a program-specific standard product, a system-on-a-chip, a complex programmable logic device.
The system may also include a combination of the methods shown in fig. 4 and 5.
The methods, systems, and flowcharts disclosed herein may form at least a portion of one or more protocols for communications to/from an SRE to update routing data. In one example, the protocol is the SIP protocol, and in another example, the protocol is the SIP call routing protocol. An example protocol may define a set of rules for formatting SIP routing data and/or processing received SIP routing data. The protocol may be used for communication between SREs in an automated fashion whereby SIP routing data is shared in a predetermined structured format that is accessible to the recipient.
In the examples described herein, structured SIP routing data is described that includes one or more of a range of addresses applicable to the respective SIP route, a range of telephone numbers applicable to the respective SIP route, an indication of quality of service applicable to the respective SIP route, an indication of a codec used to transmit data over the respective SIP route, an address or domain of a next hop that the SRE will use to transmit traffic over the respective SIP route, and/or an indication of a number of hops from an endpoint to a destination address of the respective SIP route. However, in certain examples, the structured SIP routing data includes a range of telephone numbers applicable to SIP routing, and an address or domain of the next hop for SRE to transport traffic over SIP routing.
Alternatively, the SRE may include an API for transmitting or receiving routing data to/from another SRE in accordance with the methods and systems disclosed herein.
FIG. 8 illustrates an exemplary computing-based device suitable for implementing the methods, systems, or portions thereof disclosed herein. In particular, FIG. 8 illustrates various components of an exemplary computing-based device 1000 implemented as any form of computing device and/or electronic device and in which the above-described examples are implemented.
The computing-based device 1000 includes one or more processors 1001 that are microprocessors, controllers, or any other suitable type of processor for processing computer-executable instructions to control the operation of the device. In some examples, such as where a system-on-chip architecture is used, the processor 1001 includes one or more fixed function blocks (also referred to as accelerators) that implement a portion of the method in hardware (rather than software or firmware). Platform software, including an operating system 1011, or any other suitable platform software, is provided at the computing-based device to enable application software 1012 to execute on the device.
Computer-executable instructions are provided using any computer-readable medium accessible by the computing-based device 1000. Computer-readable media includes, for example, computer storage media such as memory 1010 and communication media. Computer storage media, such as memory 1010, includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, and the like. Computer storage media includes, but is not limited to, random Access Memory (RAM), read Only Memory (ROM), erasable Programmable Read Only Memory (EPROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium for storing information for access by a computing device. Rather, the communications media embody computer-readable instructions, data structures, program modules, etc. in a modulated data signal, such as a carrier wave, or other transport mechanism. As defined herein, computer storage media does not include communication media. Accordingly, computer storage media should not be construed as a propagated signal itself. Although the computer storage medium (memory 1010) is shown within the computing-based device 1000, it should be appreciated that in some examples, the storage is distributed or remotely located and accessed via a network or other communication link (e.g., using communication interface 1002).
The computing-based device 1000 also includes an input/output controller 1003 configured to output display information to a display device 1021, which display device 1021 may be separate from or integrated with the computing-based device 1000. The display information may provide a graphical user interface. The input/output controller 1003 is also configured to receive and process input from one or more devices, such as a user input device 1022 (e.g., a mouse, keyboard, camera, microphone, or other sensor).
The term "computer" or "computing-based device" is used herein to refer to any device having processing capability to cause it to execute instructions. Those skilled in the art will recognize that such processing capabilities are incorporated into many different devices, and thus the terms "computer" and "computing-based device" each include Personal Computers (PCs), servers, mobile phones (including smart phones), tablet computers, set-top boxes, media players, game consoles, personal digital assistants, wearable computers, and many other devices.
In some examples, the methods described herein are performed by software in machine readable form on a tangible storage medium, for example, in the form of a computer program comprising computer program code means adapted to perform all the operations of one or more methods described herein when the program is run on a computer, and wherein the computer program may be embodied on a computer readable medium. The software is adapted to be executed on a parallel processor or a serial processor such that the method operations may be performed in any suitable order or simultaneously.
Those skilled in the art will recognize that the storage devices used to store program instructions may alternatively be distributed over a network. For example, a remote computer can store an example of a process described as software. The local or terminal computer can access the remote computer and download a part or all of the software to run the program. Alternatively, the local computer may download pieces of the software as needed, or execute some software instructions at the local terminal and other software instructions at the remote computer (or computer network). Those skilled in the art will also recognize that all or a portion of the software instructions may be executed by dedicated circuitry, such as a Digital Signal Processor (DSP), programmable logic array, or the like, by employing conventional techniques known to those skilled in the art.
It will be apparent to those skilled in the art that any of the ranges or device values presented herein may be extended or altered without losing the effect sought.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
It should be appreciated that the benefits and advantages described above may relate to one embodiment or may relate to several embodiments. Embodiments are not limited to embodiments that solve any or all of the problems or embodiments that have any or all of the benefits and advantages. It will also be understood that reference to "an" refers to one or more of those items.
The operations of the methods described herein may be performed in any suitable order, or concurrently where appropriate. In addition, individual blocks may be deleted from any of the methods without departing from the scope of the subject matter described herein. Aspects of any of the examples described above may be combined with aspects of any of the other examples described to form other examples without loss of the effect sought.
The term "comprising" is used herein to mean including the identified method blocks or elements, but that such blocks or elements do not include an exclusive list, and that the method or apparatus may include additional blocks or elements.
The term "subset" is used herein to refer to an appropriate subset such that the subset of the set does not include all elements of the set (i.e., at least one of the elements of the set is missing from the subset).
It should be understood that the above description is given by way of example only and that various modifications may be made by those skilled in the art. The above specification, examples and data provide a complete description of the structure and use of exemplary embodiments. Although various embodiments have been described above with a certain degree of particularity, or with reference to one or more individual embodiments, those skilled in the art could make numerous alterations to the disclosed embodiments without departing from the scope of this disclosure.
Claims (20)
1. A method implemented by a Session Initiation Protocol (SIP) routing engine for transmitting structured SIP routing data, the method comprising:
collating SIP routing data, the SIP routing data comprising one or more SIP routes, each respective SIP route of the one or more SIP routes comprising an endpoint of the respective route, each endpoint being a national telephone operator (NPO) endpoint or an International Service Provider (ISP) endpoint;
Constructing the consolidated SIP routing data in a predetermined format to produce structured SIP routing data;
Generating a message including the structured SIP routing data, and
The generated message is transmitted according to a predetermined schedule.
2. The method of claim 1, wherein the method is performed automatically by the SIP Routing Engine (SRE).
3. A method according to any preceding claim, wherein the SIP routing engine is operable to route calls originating on a 5G network.
4. The method of any one of the preceding claims, wherein
The SRE is a first SRE;
the generated message having a destination address of the second SRE, and
A media data session is active between the first SRE and the second SRE before the first SRE transmits the generated message to the second SRE.
5. The method of any one of the preceding claims, wherein
The message generated is a SIP message, and
The structured SIP routing data is in the body of the SIP message.
6. A method according to any preceding claim, wherein the structured SIP routing data comprises one or more of:
A range of addresses suitable for corresponding SIP routes;
A range of telephone numbers suitable for corresponding SIP routing;
An indication of quality of service applicable to the corresponding SIP route;
An indication of a codec used to transmit data via the corresponding SIP route;
The SRE will be used to route the address or domain of the next hop of traffic through the corresponding SIP, and/or
An indication of the number of hops from the endpoint of the corresponding SIP route to the destination address.
7. The method of any of the preceding claims, further comprising:
comparing one or more SIP routing criteria to policy criteria, and
Based on the comparison, one or more SIP routes meeting the criteria of the policy are optionally included in the structured SIP routing data.
8. The method of claim 7, wherein
The SRE is a first SRE, and
The policy is associated with a second SRE located at or reachable via the destination address.
9. The method of claim 8, wherein
The SIP routing data transmitted in the message is a subset of the total SIP routing data stored by the first SRE;
the selection of a SIP route for transmission in the message to the second SRE depends on an identity of the second SRE.
10. The method of claim 7, wherein the criteria compared relate to one or more of:
A range of addresses;
A range of telephone numbers;
Quality of service;
a codec;
Address or field of the next hop, and/or
Indication of the number of hops.
11. A method implemented by a Session Initiation Protocol (SIP) routing engine for receiving structured SIP routing data, the method comprising:
receiving a message, the received message comprising structured SIP routing data in a predetermined format;
Extracting one or more SIP routes from the received message, each respective one of the one or more SIP routes including an endpoint of the respective route, each endpoint being a national telephone operator (NPO) endpoint or an International Service Provider (ISP) endpoint, and
The one or more extracted SIP routes are added to an internal routing table of the SIP Routing Engine (SRE).
12. The method of claim 11, wherein the structured SIP routing data comprises:
telephone number range suitable for corresponding SIP route;
An indication of quality of service applicable to the corresponding SIP route;
An indication of a codec used to transmit data via the corresponding SIP route;
The SRE will be used to route the address or domain of the next hop of traffic through the corresponding SIP, and/or
An indication of the number of hops from the endpoint of the corresponding SIP route to the destination address.
13. The method of claim 11 or claim 12, further comprising:
Comparing the extracted criteria of the one or more SIP routes with the criteria of the policy, and
Based on the comparison, the one or more compared SIP routes that meet the criteria of the policy are selectively added to an internal routing table of the SRE.
14. The method according to any one of claims 11 to 13, wherein
Multiple SIP routes are extracted from the received message, and
The extracted subset of the plurality of SIP routes is added to the internal routing table of the SRE.
15. A computerized system comprising a first Session Initiation Protocol (SIP) routing engine (SRE) comprising one or more processors, and a second SRE comprising one or more processors, wherein the system is configured to:
sorting, by the first SRE, SIP routing data, the SIP routing data comprising one or more SIP routes, each respective SIP route of the one or more SIP routes comprising an endpoint of the respective route, each endpoint being a national telephone operator (NPO) endpoint or an International Service Provider (ISP) endpoint;
constructing, by the first SRE, the consolidated SIP routing data in a predetermined format to produce structured SIP routing data;
transmitting, by the first SRE to the second SRE according to a predetermined schedule, a message including the structured SIP routing data;
extracting, by the second SRE, one or more SIP routes from the transmitted message;
one or more of the one or more extracted SIP routes are added by a second SRE to an internal routing table of the second SRE.
16. The method according to any one of claims 1 to 10, the method being implemented at least in part in a SIP routing engine using hardware logic selected from any one or more of a field programmable gate array, a program-specific integrated circuit, a program-specific standard product, a system-on-a-chip, and/or a complex programmable logic device.
17. A method according to any of claims 11 to 14, wherein the message received is a SIP message and the structured SIP routing data is in the body of the SIP message.
18. The method of any one of claims 11 to 14, implemented at least in part in a SIP routing engine using hardware logic selected from any one or more of a field programmable gate array, a program-specific integrated circuit, a program-specific standard product, a system-on-a-chip, and/or a complex programmable logic device.
19. The method of claim 13, wherein the criteria compared relates to one or more of:
A range of addresses;
A range of telephone numbers;
Quality of service;
a codec;
Address or field of the next hop, and/or
Indication of the number of hops.
20. The system of claim 15, wherein the first SRE and/or the second SRE are implemented at least in part using hardware logic selected from any one or more of a field programmable gate array, a program-specific integrated circuit, a program-specific standard product, a system-on-a-chip, a complex programmable logic device.
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GBGB2300804.8A GB202300804D0 (en) | 2023-01-19 | 2023-01-19 | SIP routing engine data |
| GB2300804.8 | 2023-01-19 | ||
| US18/123,051 US20240251002A1 (en) | 2023-01-19 | 2023-03-17 | Sip routing engine data |
| US18/123,051 | 2023-03-17 | ||
| PCT/US2024/010229 WO2024155443A1 (en) | 2023-01-19 | 2024-01-04 | Sip routing engine data |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN120569947A true CN120569947A (en) | 2025-08-29 |
Family
ID=89900987
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202480008527.0A Pending CN120569947A (en) | 2023-01-19 | 2024-01-04 | SIP routing engine data |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4652719A1 (en) |
| CN (1) | CN120569947A (en) |
| WO (1) | WO2024155443A1 (en) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10671462B2 (en) * | 2018-07-24 | 2020-06-02 | Cisco Technology, Inc. | System and method for message management across a network |
-
2024
- 2024-01-04 WO PCT/US2024/010229 patent/WO2024155443A1/en not_active Ceased
- 2024-01-04 CN CN202480008527.0A patent/CN120569947A/en active Pending
- 2024-01-04 EP EP24704620.4A patent/EP4652719A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| EP4652719A1 (en) | 2025-11-26 |
| WO2024155443A1 (en) | 2024-07-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9948549B2 (en) | Producing routing messages for voice over IP communications | |
| US10805357B2 (en) | Method and apparatus for managing calls | |
| US8693464B2 (en) | Method and apparatus for processing calls | |
| CN113079081A (en) | Message transmission method and device | |
| WO2022033345A1 (en) | Pdu session establishment method, terminal device, and chip system | |
| CN110430135B (en) | Message processing method and device | |
| KR101978540B1 (en) | Call termination on ott network | |
| CN103874058A (en) | Short message processing method and short message center | |
| US20110182414A1 (en) | Method and system for displaying enhanced caller information | |
| CN120569947A (en) | SIP routing engine data | |
| US20240251002A1 (en) | Sip routing engine data | |
| CN111757340B (en) | Method, device and system for determining service area | |
| US8374198B2 (en) | Communication relay system | |
| CN101674548B (en) | Distributing method and system for delivering report | |
| WO2025013020A1 (en) | Method and system for routing messages from a foreign network to a home network | |
| CN114448913A (en) | Network communication method and device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |