Method for realizing IP voice user volume expansion by using Request-URI (Uniform Resource Identifier) in mobile communication network

By using Request-URI and LSTM models to predict load conditions in mobile communication networks, dynamic user capacity expansion of VoIP system is achieved, solving the problems of degraded performance and high expansion costs in existing systems under high user volume, and improving the stability and scalability of the system.

CN120017640APending Publication Date: 2025-05-16XINGTANG TELECOMM TECH CO LTD +2
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510155177.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-12
Publication Date
2025-05-16

AI Technical Summary

Technical Problem

The existing VoIP system cannot be processed when the number of users exceeds 20,000, the user needs of large systems cannot be met, and the traditional PBX expansion cost is high and the cost performance is relatively low.

Method used

By utilizing Request-URI in mobile communication networks, dynamic expansion of IP voice users can be achieved. Specific methods include predicting PBX load based on the LSTM model, intelligently selecting the PBX with the lowest load for user registration, and achieving seamless dynamic expansion by adding new PBX and configuring cascades.

Benefits of technology

It improves the overall performance and stability of the system, reduces the expansion cost, realizes flexible user capacity expansion, and improves the scalability and communication security of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120017640A_ABST
    Figure CN120017640A_ABST
Patent Text Reader

Abstract

The invention relates to a method for realizing IP (Internet Protocol) voice user volume expansion by utilizing Request-URI (Uniform Resource Identifier) in a mobile communication network. The method comprises the following steps: newly adding a corresponding SIP (Session Initiation Protocol) terminal for an IP voice user and creating a user management account; judging whether idle SIP interworking numbers exist in all current PBXs or not; if yes, the PBX with the idle SIP interworking number and the lowest load is selected, and the idle SIP interworking number in the PBX and the Request-URI of the PBX are bound with the user management account; the PBX performs number allocation to activate the bound idle SIP interworking number; the IP voice user uses the SIP terminal to register to the PBX with the lowest load based on the user management account, and carries out IP voice communication after successful registration; and if not, adding a new PBX and configuring the newly added PBX to be cascaded with the original PBX, and binding an idle SIP interworking number in the new PBX with a user management account to realize dynamic capacity expansion of the IP voice user quantity.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a method for implementing capacity expansion of IP voice (VoIP, Voice over Internet Protocol, voice transmission based on IP) users by using Request-URI in a mobile communication network. Background Art

[0002] IP voice technology is a voice transmission technology based on the Internet Protocol. This technology converts voice signals into data packets after compression and encoding, and transmits them through the Internet. This technology is widely used, not only in traditional fixed-line telephone systems, but also in a variety of devices and platforms such as smartphones and personal computers.

[0003] Due to the characteristics of IP voice, users must obtain the IP information of the SIP server and report the user information to the SIP server through SIP signaling. The SIP server is the main component of PBX (Private Branch eXchange, a user-level switch, which is a telephone switch designed to serve specific enterprises or institutions, etc.), and is responsible for establishing all SIP phone calls in the network. Currently, the number of PBX users has a maximum limit, and when the number of IP voice users increases during the later period of use, it cannot meet the large system user demand.

[0004] Currently, in the VoIP system, as long as the number of users exceeds 20,000, the existing VoIP system with only one traditional PBX cannot handle such a large number of users, and it needs to be replaced with a cloud-deployed PBX. Cloud-deployed PBX is more expensive than traditional PBX and has a lower cost-performance ratio. Cloud-deployed PBX supports a maximum of 1 million users. When the number of users exceeds 1 million, there will be no equipment to replace. How to expand the user demand has become the top priority of the VoIP system. Summary of the invention

[0005] In view of the above analysis, an embodiment of the present invention aims to provide a method for expanding the number of IP voice users by using Request-URI in a mobile communication network, so as to solve the technical problem that the scalability of existing VoIP users is limited, especially when the number of users exceeds the maximum upper limit of the PBX system, it cannot meet the needs of large-scale users.

[0006] The purpose of the present invention is mainly achieved through the following technical solutions:

[0007] The present invention provides a method for implementing IP voice user capacity expansion by using Request-URI in a mobile communication network, comprising the following steps:

[0008] Based on the needs of IP voice users, add corresponding SIP terminals for IP voice users and create user management accounts;

[0009] Determine whether there is an idle SIP intercommunication number in all current PBXs; if so, select a PBX with an idle SIP intercommunication number and the lowest load, bind the idle SIP intercommunication number in the PBX and the Request-URI of the PBX to the user management account; the PBX releases the number to activate the bound idle SIP intercommunication number; the IP voice user uses the SIP terminal to register with the PBX with the lowest load based on the user management account, and makes an IP voice call after successful registration;

[0010] If not, a new PBX is added and the cascade connection between the new PBX and the original PBX is configured, and the idle SIP intercommunication number in the new PBX is bound to the user management account to achieve seamless dynamic expansion of IP voice users.

[0011] Furthermore, the following method is used to obtain the PBX with idle SIP intercommunication numbers and the lowest load, as follows:

[0012] Collect PBX load data and IP voice user behavior data within a certain historical period and pre-process them to form a sample training set;

[0013] Construct an LSTM model including an LSTM layer, a fully connected layer and a comparison layer; wherein the LSTM layer is used to process the preprocessed IP voice user behavior data, the fully connected layer is used to output the prediction result of each PBX load data; the comparison layer is used to compare the prediction results of each PBX load data to obtain the PBX with the lowest load;

[0014] The LSTM model is trained using the sample training set; during the training process, a mean square error loss function MSE is used, and an Adam optimizer is used to iteratively optimize the model parameters;

[0015] Until the mean square error loss function MSE converges, a trained LSTM model is obtained;

[0016] The IP voice user behavior data corresponding to the PBX with idle SIP intercommunication numbers obtained in real time is pre-processed and input into the trained LSTM model to obtain the PBX with idle SIP intercommunication numbers and the lowest load.

[0017] Furthermore, the PBX load data includes the CPU usage, memory usage, network bandwidth usage and the number of IP voice users registered on the PBX;

[0018] The IP voice user behavior data includes the call frequency, call duration and registration time of the IP voice user;

[0019] The step of obtaining a PBX that currently has an idle SIP intercommunication number and has the lowest load includes:

[0020] Calculate the load value of the PBX that currently has idle SIP intercommunication numbers based on the real-time predicted CPU usage, memory usage, network bandwidth occupancy, and the number of IP voice users registered on the PBX;

[0021] Based on the Request-URI of the PBX with the smallest load value, the corresponding PBX with the lowest load value is obtained, and the SIP terminal is guided to the PBX with the lowest load value for registration.

[0022] Furthermore, the new PBX is cascaded with the original PBX via SIP trunks, and the transmission protocol is selected;

[0023] Each PBX has its own inter-office prefix and outgoing route.

[0024] When the SIP intercommunication number segment of any PBX is changed, the inter-office prefix and outgoing route of the corresponding PBX are updated;

[0025] The Request-URI is used to identify the unique address of each PBX, guiding the SIP terminal to correctly find the corresponding PBX for registration and communication;

[0026] The inter-office prefix is ​​used to distinguish whether the IP voice call type is a local call or an outgoing call; the outgoing route is used to associate the inter-office prefix with the SIP trunk to ensure that the outgoing call can be transmitted to the target PBX through the correct SIP trunk.

[0027] Furthermore, when making an IP voice call, SIP number segment matching and prefix matching are performed based on the SIP intercommunication number corresponding to the SIP terminal of the called party, as follows:

[0028] If the SIP intercommunication number of the called party is within the SIP intercommunication number segment of the calling party's PBX, and the prefix of the SIP intercommunication number of the called party matches the inter-office prefix configured on the calling party's PBX, it is a local call; otherwise, it is an outgoing call.

[0029] The outgoing call includes:

[0030] The calling party's SIP terminal transmits IP voice to the target PBX registered by the called party's SIP terminal through the PBX it registers and the SIP trunk between the cascaded PBXs, thereby realizing an IP voice call with the called party; wherein the Request-URI is used to identify the address of the target PBX to ensure that the IP voice call is correctly routed to the target PBX.

[0031] Furthermore, the SIP terminal is a customized terminal, and the IP voice user registers and makes IP voice calls through an app deployed on the SIP terminal.

[0032] Furthermore, a unique SIP intercommunication number is allocated to each newly added SIP terminal and a password is set for identity authentication when the SIP terminal registers with the PBX;

[0033] The SIP intercommunication numbers of all IP voice users form a SIP intercommunication number pool;

[0034] Based on the deployment location of the PBX, a unique Request-URI is designed for each PBX; the Request-URI includes the domain name, subdomain name, port number, and supported transport protocol;

[0035] Each IP voice user uses the user management account and corresponding password to log in to the IP voice user management server using the app of the SIP terminal.

[0036] Further, the IP voice user uses the SIP terminal to register with the PBX with an idle SIP intercommunication number and the lowest load based on the SIP intercommunication number and password bound to the user management account;

[0037] The PBX verifies the validity of the SIP intercommunication number and password, and accepts the registration application if they are valid; otherwise, the registration application is rejected;

[0038] If the registration is successful, the SIP terminal makes an IP voice call through the registered PBX.

[0039] Furthermore, the PBX releases a number through the SIP server, activates the idle SIP intercommunication number and binds it to the SIP terminal;

[0040] The SIP terminal obtains a unique SIP intercommunication number and a corresponding password.

[0041] Furthermore, the calling party and the called party of the IP voice user respectively use the SIP terminal appA and the SIP terminal appB to conduct an IP voice call, including:

[0042] The SIP terminal appA and SIP terminal appB are respectively connected to the network switch via a public network dedicated line;

[0043] The SIP terminal appA uses its user management account to send a call request to the bound PBX, and the PBX verifies the validity of the SIP intercommunication number and password of the SIP terminal appA. If valid, the call request is accepted;

[0044] The SIP terminal appA sends an INVITE request to initiate a call to the SIP terminal appB; wherein the INVITE request includes a first SDP message body, and the first SDP message body carries the address and port information of the SIP terminal appA;

[0045] Based on the INVITE request initiated by the SIP terminal appA, the SIP terminal appB receives the INVITE request and parses the address and port information of the SIP terminal appA from the first SDP message body;

[0046] Based on the configuration of the network switch, the SIP terminal appB sends a response message to the SIP terminal appA, where the response message includes a second SDP message body, and the second SDP message body carries the address and port information of the SIP terminal appB;

[0047] Based on the first and second SDP information bodies exchanged between the SIP terminal appA and the SIP terminal appB, the two parties establish a media stream and start an IP voice call;

[0048] The configuration of the network switch includes configuring VLAN, routing rules and NAT rules.

[0049] Compared with the prior art, the present invention can achieve at least one of the following beneficial effects:

[0050] 1. The present invention uses the LSTM model to predict the load of the PBX and intelligently selects the PBX with the lowest load for IP voice user registration. By comparing the prediction results at the comparison layer, it ensures that the IP voice user is assigned to the PBX with the lowest current load, thereby improving the overall performance and stability of the system; it solves the technical problem in the existing VoIP system that when an IP voice user registers to a single PBX, when the PBX load is too high, the user cannot be automatically assigned to other PBXs, resulting in a decrease in system performance;

[0051] 2. The present invention realizes seamless dynamic expansion of IP voice users by adding a new PBX and configuring a cascade with the original PBX. When the number of users increases, a new PBX can be flexibly added without replacing the entire system, reducing the cost of expansion; it solves the problem that the number of users of traditional PBXs has a maximum limit. When the number of users exceeds 20,000, it cannot meet the user demand of a large system and needs to replace the cloud-deployed PBX, which is costly and has a low cost-performance ratio;

[0052] 3. The present invention realizes the registration of SIP terminals to different PBXs by designing a unique Request-URI for each PBX. The Request-URI is not only the unique identifier of the PBX, but also plays an important role in key links such as load balancing, dynamic routing, and call establishment, ensuring the scalability, stability, and efficiency of the system. This multi-center architecture design enables the system to flexibly allocate users and quickly respond to changes in the number of users, thereby improving the flexibility and scalability of the system; it solves the technical problem that the expansion of the traditional PBX system requires the replacement of equipment or large-scale network upgrades, has poor flexibility, and cannot quickly adapt to changes in the number of users;

[0053] 4. The present invention realizes end-to-end private IP communication through the special configuration of the network switch (such as VLAN, routing rules and NAT rules). Voice data is transmitted in the private network, and the routing loopback mechanism of the network switch ensures the privacy of communication, thereby improving the security of communication. It solves the technical problem that in the existing IP voice communication, media voice data is usually transmitted in the public network, which is at risk of being eavesdropped and tampered with, and the communication security is low;

[0054] 5. This technical solution not only solves the technical problems of high expansion cost, poor flexibility, insufficient load balancing and other technical problems in the existing technology, but also improves the overall performance, stability and communication security of the system, providing an efficient, flexible and cost-effective expansion solution for the VoIP system.

[0055] In the present invention, the above-mentioned technical solutions can also be combined with each other to achieve more preferred combination solutions. Other features and advantages of the present invention will be described in the subsequent description, and some advantages can become obvious from the description, or can be understood by practicing the present invention. The purpose and other advantages of the present invention can be realized and obtained through the contents particularly pointed out in the description and the drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] The drawings are only for the purpose of illustrating specific embodiments and are not to be considered limiting of the present invention. Like reference symbols denote like components throughout the drawings.

[0057] Figure 1A flow chart of a method for implementing capacity expansion of IP voice users by using Request-URI in a mobile communication network in an embodiment of the present invention;

[0058] Figure 2 This is a schematic diagram of the LSTM model structure in an embodiment of the present invention;

[0059] Figure 3 This is a flow chart of the SIP terminal app login and registration phase in an embodiment of the present invention;

[0060] Figure 4 This is a schematic diagram of the SIP terminal app login and registration phase in an embodiment of the present invention;

[0061] Figure 5 A call flow chart in an embodiment of the present invention;

[0062] Figure 6 This is a schematic diagram of a call between two SIP terminals, the calling terminal and the called terminal, in an embodiment of the present invention;

[0063] Figure 7 This is a schematic diagram of a SIP terminal accessing a VoIP system in an embodiment of the present invention;

[0064] Figure 8 This is a schematic diagram of the composition of the IP voice backend in an embodiment of the present invention; DETAILED DESCRIPTION

[0065] The preferred embodiments of the present invention are described in detail below in conjunction with the accompanying drawings, wherein the accompanying drawings constitute a part of this application and are used together with the embodiments of the present invention to illustrate the principles of the present invention, but are not used to limit the scope of the present invention.

[0066] In order to meet the user expansion requirements of the VoIP system, the embodiment of the present invention proposes a method for implementing IP voice user expansion using Request-URI in a mobile communication network. In the case where IP voice users are not aware of it, multiple PBXs are deployed in cascade to meet the user expansion requirements of the VoIP system.

[0067] A specific embodiment of the present invention, as Figure 1 As shown, a method for implementing IP voice user capacity expansion by using Request-URI in a mobile communication network is disclosed, comprising the following steps:

[0068] Step S1: Add a corresponding SIP terminal for the IP voice user based on the IP voice user's needs and create a user management account;

[0069] Step S2, determining whether there is an idle SIP intercommunication number in all current PBXs; if so, selecting a PBX with an idle SIP intercommunication number and the lowest load, binding the idle SIP intercommunication number in the PBX and the Request-URI of the PBX to the user management account; the PBX releases and activates the bound idle SIP intercommunication number; the IP voice user uses the SIP terminal to register with the PBX with the lowest load based on the user management account, and makes an IP voice call after successful registration;

[0070] Step S3: If not, add a new PBX and configure the cascade of the newly added PBX and the original PBX, bind the idle SIP intercommunication number in the new PBX with the user management account, and realize seamless dynamic expansion of IP voice users.

[0071] Before step S1, the preparation work of the VoIP system design planning stage is also included. The planning preparation work includes:

[0072] (1) Determine the SIP communication number and password.

[0073] The VoIP system administrator plans a SIP intercommunication number pool based on the call requirements of IP voice users. The SIP intercommunication number pool includes multiple SIP intercommunication numbers. A unique SIP intercommunication number is assigned to each SIP terminal.

[0074] The VoIP system administrator sets a password for each SIP intercommunication number for the identity authentication of IP voice users when they register with SIP. This ensures that only authorized IP voice users can register and use the SIP intercommunication number; the user management system is used to assign a SIP intercommunication number and set a password for each newly added SIP terminal; the user management system is deployed on the user management server.

[0075] Exemplarily, the SIP intercommunication number format is sip:1234567890@sip.example.com.

[0076] sip: indicates that this is a sip address;

[0077] 1234567890 is the user name or number, which can be numbers or letters, depending on the allocation rules of the service provider;

[0078] @: used to separate the user name and domain name;

[0079] sip.example.com: is the domain name or IP address of the SIP server, indicating the location of the SIP server where the SIP terminal is registered; the SIP server is an important component of the PBX.

[0080] (2) Design the Request-URI.

[0081] Request-URI indicates a message request, and its value represents the next hop address of the SIP signaling path.

[0082] The Request-URI is used by the SIP terminal to find the corresponding PBX when registering. According to the deployment and configuration of the PBX, a unique Request-URI is designed for each PBX and recorded in the user management service system for unified management. A PBX is a telephone switch designed to serve specific enterprises or institutions.

[0083] Request-URI is a key component in the SIP protocol, which specifies the target address of the request in the SIP message. In the VoIP system, when a SIP terminal attempts to register or initiate an IP voice call, the Request-URI is used to determine which PBX the message should be sent to.

[0084] The VoIP system administrator or network administrator plans the structure of the Request-URIs to ensure that they are unique and reflect the PBX deployment and configuration.

[0085] Exemplarily, the Request-URI includes a domain name, a subdomain name or a path, a port number (optional), and a specified transport protocol.

[0086] For example, the format of Request-URI is:

[0087] sip:sip.example.com:5060; transport=TCP

[0088] The default SIP ports are 5060 and 5061. Port 5060 is the default port of SIP, which is used for the normal transmission of SIP messages, that is, unencrypted SIP messages; it corresponds to the UDP (User Datagram Protocol) and TCP (Transmission Control Protocol) transmission of the SIP protocol;

[0089] Port 5061 is the default port for SIPS (Secure / Safe Session Initiation Protocol, a secure version of SIP. SIPS uses the TLS protocol to encrypt SIP signaling at the transport layer) messages. SIPS is a secure version of SIP and is used for encrypted SIP message transmission, usually using the TLS (Transport Layer Security) protocol.

[0090] According to the deployment location of the PBX, a unique Request-URI is assigned to each PBX, just like giving each PBX a unique "house number" to ensure that the SIP terminals used by IP voice users can find the correct PBX for registration and communication.

[0091] The VoIP system administrator or network administrator configures each PBX to ensure that it can recognize and respond to its corresponding Request-URI. This involves setting up routing rules and listening on specific ports on the PBX.

[0092] The Request-URI assigned to each PBX is recorded in the user management system and bound to other user information (such as SIP intercommunication number and password). When a SIP terminal attempts to register, the user management system provides the correct Request-URI information.

[0093] After the configuration is complete, test and verify to ensure that each SIP terminal can correctly connect to the corresponding PBX through its Request-URI. This includes simulating the registration process and calls to ensure that the system works as expected.

[0094] As the VoIP system expands or changes, it is necessary to add a new PBX or reconfigure the existing PBX. The VoIP system administrator or network administrator maintains and updates the Request-URI configuration and ensures that these changes are correctly recorded and synchronized to the user management system.

[0095] Step S1, specifically.

[0096] Based on the needs of IP voice users, add corresponding SIP terminals for IP voice users and create user management accounts and passwords.

[0097] IP Voice User Demand Index

[0098] The SIP terminal is a customized terminal, and the IP voice user registers and makes IP voice calls through the app deployed on the SIP terminal.

[0099] Exemplarily, SIP terminals are mobile phones, landline phones, computers that support the SIP protocol, dedicated IP phones, tablet computers, IP intercoms, etc.

[0100] Allocate a unique SIP intercommunication number and set a password for each newly added SIP terminal, which is used for identity authentication when the SIP terminal registers with the PBX;

[0101] The SIP intercommunication numbers of all IP voice users form a SIP intercommunication number pool;

[0102] Based on the deployment location of the PBX, a unique Request-URI is designed for each PBX; the Request-URI includes the domain name, subdomain name, port number, and supported transport protocol;

[0103] Each IP voice user uses the user management account and corresponding password to log in to the IP voice user management server using the app of the SIP terminal.

[0104] Create a user management account and password for IP voice users as follows:

[0105] In the user management system, create a unique account for each IP voice user as a user management account; set a password for each user management account. The user management account and password are used to log in to the user management server, register with the corresponding PBX, and log in to the SIP terminal app.

[0106] The steps of creating user management accounts and passwords are a key part of VoIP system user management, which involves establishing a unique identity for each IP voice user in the VoIP system. Usually, the VoIP system administrator sets it up through the user management system (including adding, deleting, modifying, checking user management accounts and resetting passwords).

[0107] The VoIP system administrator manually or automatically creates a user management account for each new IP voice user. The account is unique and can be numbers, letters, or a combination of both to ensure that it is not repeated in the VoIP system.

[0108] The password is not stored in plain text but is encrypted; illustratively, a hash function is used to generate the password.

[0109] The purpose of step S1 is to add a corresponding SIP terminal for each IP voice user based on the needs of IP voice users, and create a unique user management account and password for each user in the user management system to ensure that IP voice users can register and make IP voice calls through SIP terminals, while ensuring the security of the VoIP system and the uniqueness of user identities.

[0110] Step S2 includes steps S21-S23.

[0111] Step S21: Determine whether there is an idle SIP intercommunication number in all current PBXs.

[0112] Based on the idle SIP intercommunication numbers in the SIP intercommunication number pool, determine the PBX corresponding to the idle SIP intercommunication number among all current PBXs.

[0113] In the current VoIP system, one or more PBXs may be included, located in different locations within the enterprise.

[0114] Step S22: Select a PBX with an idle SIP intercommunication number and the lowest load, and bind the idle SIP intercommunication number in the PBX and the Request-URI of the PBX to the user management account.

[0115] Use the following method to obtain the PBX with idle SIP intercommunication numbers and the lowest load, as follows:

[0116] Collect PBX load data and IP voice user behavior data within a certain historical period and pre-process them to form a sample training set;

[0117] Construct an LSTM model including an LSTM layer, a fully connected layer and a comparison layer; wherein the LSTM layer is used to process the preprocessed IP voice user behavior data, the fully connected layer is used to output the prediction results of each PBX; the comparison layer is used to compare the prediction results of each PBX to obtain the PBX with the lowest load;

[0118] The LSTM model is trained using the sample training set; during the training process, a mean square error loss function MSE is used, and an Adam optimizer is used to iteratively optimize the model parameters;

[0119] Until the mean square error loss function MSE converges, a trained LSTM model is obtained;

[0120] The IP voice user behavior data of the PBX with idle SIP intercommunication numbers obtained in real time is pre-processed and input into the trained LSTM model to obtain the PBX with idle SIP intercommunication numbers and the lowest load.

[0121] Exemplarily, historical data for one month is collected.

[0122] The PBX load data includes the CPU usage, memory usage, network bandwidth usage and the number of IP voice users registered on the PBX;

[0123] The IP voice user behavior data includes the call frequency, call duration and registration time of the IP voice user;

[0124] Calculate the load value of the PBX that currently has idle SIP intercommunication numbers based on the real-time predicted CPU usage, memory usage, network bandwidth occupancy, and the number of IP voice users registered on the PBX;

[0125] Based on the Request-URI of the PBX with the smallest load value, the corresponding PBX with the lowest load value is obtained, and the SIP terminal is guided to the PBX with the lowest load value for registration.

[0126] For the acquired PBX load data and IP voice user behavior data, the field contents contained in the data can be changed (including addition, deletion and modification) according to specific application requirements.

[0127] The acquired PBX load data and IP voice user behavior data are recorded in the form of time series; the PBX load data and IP voice user behavior data collected within a certain historical period are preprocessed, including data cleaning and data normalization, as follows:

[0128] (1) Data cleaning:

[0129] Remove duplicate data, remove irrelevant data, and correct erroneous data to ensure data accuracy and completeness;

[0130] Handle missing values ​​using mean filling, interpolation, or deleting rows with missing values.

[0131] (2) Data normalization transformation: Scale the data to the range of [0,1] to eliminate the dimensional differences between different data. The normalization formula is as follows:

[0132]

[0133] Among them, X is the original data collected, X min , X max are the minimum and maximum values ​​of the original data set collected respectively; X' is the normalized value of X.

[0134] The preprocessed PBX load data and IP voice user behavior data constitute the sample training set; the sample training set is divided into a training set and a test set in a ratio of 70:30.

[0135] like Figure 2 As shown in the figure, the schematic diagram of the LSTM model structure is as follows.

[0136] The input layer is used to receive pre-processed sample data; the output layer is used to output the PBX with idle SIP intercommunication numbers and the lowest load.

[0137] The activation function of the LSTM layer is tanh; to prevent overfitting, the dropout parameter value is 0.2;

[0138] The activation function of the fully connected layer is ReLU; the number of neurons in the fully connected layer is consistent with the number of PBXs in the current VoIP system.

[0139] The mean square error loss function MSE (Mean Squared Error) used measures the error L between the predicted value and the actual value MSE , the formula is as follows:

[0140]

[0141] Where n is the number of samples; X' CPU and are the actual value and predicted value of CPU usage respectively; X' mem and are the true value and predicted value of memory usage respectively; X' bandwidth and are the actual value and predicted value of network bandwidth respectively; X' usercount and are the actual value and predicted value of the number of IP voice users respectively.

[0142] Calculate the load value V of the PBX load The formula is as follows:

[0143] V load =γ1·CPU usage +γ2·MEM usage +γ3·BandWith usage +γ4·USER count

[0144] Formula (3)

[0145] Wherein, γ1, γ2, γ3, and γ4 are respectively the weights of the CPU usage, memory usage, network bandwidth occupancy, and the number of IP voice users registered on the PBX predicted in real time;

[0146] CPU usage MEM usage 、BandWith usage 、USER count They are respectively the real-time predicted CPU usage, memory usage, network bandwidth occupancy and the number of IP voice users registered on the PBX, and the value range is [0,1].

[0147] For example, γ1 = 0.4; γ2 = 0.3; γ3 = 0.1; γ4 = 0.2. In actual specific applications, modifications are made according to specific requirements.

[0148] Step S23, the PBX releases and activates the bound idle SIP intercommunication number; the IP voice user uses the SIP terminal to register with the PBX with the lowest load based on the user management account, and makes an IP voice call after successful registration.

[0149] The PBX releases a number through the SIP server, activates the idle SIP intercommunication number and binds it to the SIP terminal;

[0150] The SIP terminal obtains a unique SIP intercommunication number and a corresponding password.

[0151] The VoIP system administrator operates in the user management system to bind and associate the idle SIP intercommunication number with the user management account of the IP voice user.

[0152] Completed through database operations to ensure that each SIP intercommunication number corresponds to a user management account accurately. Ensure that each SIP intercommunication number corresponds to a valid user management account.

[0153] During the binding process, verify that each SIP intercommunication number has been associated with a valid user management account. Ensure that each SIP intercommunication number is active in the VoIP system and can be correctly identified and used.

[0154] Release numbers on the PBX. According to the planned SIP intercommunication number and password, release numbers on the PBX with idle SIP intercommunication numbers.

[0155] The number release operation activates the SIP intercommunication number for the PBX so that the SIP intercommunication number can be identified and used by the VoIP system. IP voice users are required to enter the SIP intercommunication number and password.

[0156] Ensure that the PBX can identify and process these SIP intercommunication numbers. After the PBX releases the numbers, test and verify whether the PBX can correctly identify and process these SIP intercommunication numbers.

[0157] Exemplarily, the SIP terminal performs a call test to ensure that the SIP intercommunication number can be correctly routed.

[0158] The IP voice user uses the SIP terminal to register with the PBX with an idle SIP intercommunication number and the lowest load based on the SIP intercommunication number and password bound to the user management account;

[0159] The PBX verifies the validity of the SIP intercommunication number and password, and accepts the registration application if they are valid; otherwise, the registration application is rejected;

[0160] If the registration is successful, the SIP terminal makes an IP voice call through the registered PBX.

[0161] like Figure 3 As shown in the figure, the SIP terminal app login and registration phase is mainly divided into three steps: SIP terminal app accesses the user management server, obtains the user management account, and SIP terminal registers, as follows:

[0162] Step 1: The SIP terminal app accesses the user management server;

[0163] First, visit the user management server. The IP voice user opens the SIP terminal app and enters the user management account and password to log in; the SIP terminal app connects to the user management server through the packet domain of the VoLTE (Voice over Long-Term Evolution, long-term evolution voice bearer, providing IP voice services based on the packet domain) public network and the IoT dedicated line through the network switch. Figure 4 shown.

[0164] The user management system verifies the validity of the user account and password. The user management system checks whether the entered user management account and password match the records in the database; if the verification is successful, the identity of the IP voice user is confirmed and the next step is allowed.

[0165] Step 2: Get the corresponding information of the user management account.

[0166] The user management system informs the SIP terminal app of the Request-URI, SIP intercommunication number and password corresponding to the user management account. Once the user identity authentication is successful, the user management system provides the user-specific configuration information, including the corresponding Request-URI (used to find the corresponding PBX), SIP intercommunication number and password.

[0167] The SIP terminal app uses the obtained configuration information to make a SIP registration request, which will be sent to the corresponding PBX for registration.

[0168] Step 3: SIP terminal registration.

[0169] The SIP terminal app uses the configuration information corresponding to the user management account to send a SIP registration request to the PBX. The SIP terminal app sends the SIP registration request to the PBX corresponding to the Request-URI provided by the user management system. The request includes the user's SIP intercommunication number and password, which are used to register the user device on the PBX.

[0170] The PBX verifies the validity of the SIP intercommunication number and password, and accepts or rejects the registration request. The PBX checks the SIP intercommunication number and password in the received SIP registration request; if they match the records on the PBX, the PBX accepts the registration request and allows the user device to register; otherwise, the registration request is rejected. Once the registration is successful, the SIP terminal app can make IP voice calls through the PBX.

[0171] After successful registration, the SIP terminal app receives a confirmation message from the PBX. At this time, the IP voice user can start IP voice calls. The IP voice user can make IP voice calls and receive calls, just like using a traditional phone.

[0172] Step S3, specifically.

[0173] The new PBX is cascaded with the original PBX via SIP trunks, and the transmission protocol is selected;

[0174] Each PBX has its own inter-office prefix and outgoing route.

[0175] When the SIP intercommunication number segment of any PBX is changed, the inter-office prefix and outgoing route of the corresponding PBX are updated;

[0176] The Request-URI is used to identify the unique address of each PBX, guiding the SIP terminal to correctly find the corresponding PBX for registration and communication;

[0177] The inter-office prefix is ​​used to distinguish whether the IP voice call type is a local call or an outgoing call; the outgoing route is used to associate the inter-office prefix with the SIP trunk to ensure that the outgoing call can be transmitted to the target PBX through the correct SIP trunk.

[0178] Configure the corresponding office directions and fields according to the SIP intercommunication numbers planned for each PBX.

[0179] A trunk is a connection between a PBX and other systems, such as another PBX or a public telephone network. Each trunk requires configuration of specific fields, such as trunk numbers, routing rules, and call permissions. Ensure that the PBX can correctly route calls to the target SIP endpoint based on the SIP interworking number.

[0180] After configuring the corresponding office routes and fields, you need to test to ensure that the PBX can correctly route calls based on the SIP interworking number and office route configuration.

[0181] Exemplarily, a simulated call is performed to initiate a call from a SIP terminal to different destinations, and verify whether the call is correctly routed to the target SIP terminal.

[0182] When making an IP voice call, the SIP number segment and prefix matching is performed based on the SIP intercommunication number corresponding to the called party's SIP terminal, as follows:

[0183] If the SIP intercommunication number of the called party is within the SIP intercommunication number segment of the calling party's PBX, and the prefix of the SIP intercommunication number of the called party matches the inter-office prefix configured on the calling party's PBX, it is a local call; otherwise, it is an outgoing call.

[0184] The outgoing call includes:

[0185] The calling party's SIP terminal transmits IP voice to the target PBX registered by the called party's SIP terminal through the PBX it registers and the SIP trunk between the cascaded PBXs, thereby realizing an IP voice call with the called party; wherein the Request-URI is used to identify the address of the target PBX to ensure that the IP voice call is correctly routed to the target PBX.

[0186] Each PBX is like a telephone exchange center, and the Request-URI is the address of this center. In order to let the phone (SIP terminal) know which exchange center to call, each PBX is assigned a unique Request-URI.

[0187] When the SIP terminal app is started, the IP voice user sends a registration request to the corresponding PBX based on his / her SIP intercommunication number and password, as well as the Request-URI obtained by the user management system.

[0188] When the number of IP voice users needs to be expanded and more telephone exchange centers are needed, new PBXs are added. Each new PBX will be assigned a new Request-URI and the corresponding SIP intercommunication number and password will be planned.

[0189] The user management system is like a switchboard. According to the user management account information provided by the SIP terminal app, the SIP terminal is directed to the correct PBX for registration. Even if a new PBX is added, the user does not need to change his settings. The SIP terminal of the IP voice user will be automatically directed to the PBX with an idle SIP intercommunication number and the lowest load.

[0190] like Figure 5 As shown in the figure, the calling party and the called party of the IP voice user use SIP terminal appA and SIP terminal appB respectively to make an IP voice call, including:

[0191] The SIP terminal appA and SIP terminal appB are respectively connected to the network switch via a public network dedicated line;

[0192] The SIP terminal appA uses its user management account to send a call request to the bound PBX, and the PBX verifies the validity of the SIP intercommunication number and password of the SIP terminal appA. If valid, the call request is accepted;

[0193] The SIP terminal appA sends an INVITE request to initiate a call to the SIP terminal appB; wherein the INVITE request includes a first SDP message body, and the first SDP message body carries the address and port information of the SIP terminal appA;

[0194] Based on the INVITE request initiated by the SIP terminal appA, the SIP terminal appB receives the INVITE request and parses the address and port information of the SIP terminal appA from the first SDP message body;

[0195] Based on the configuration of the network switch, the SIP terminal appB sends a response message to the SIP terminal appA, where the response message includes a second SDP message body, and the second SDP message body carries the address and port information of the SIP terminal appB;

[0196] Based on the first and second SDP information bodies exchanged between the SIP terminal appA and the SIP terminal appB, the two parties establish a media stream and start an IP voice call;

[0197] The configuration of the network switch includes configuring VLAN (Virtual Local Area Network), routing rules and NAT (Network Address Translation) rules. Figure 6 shown.

[0198] Figure 5 In the example, the calling party SIP terminal uses appA to send an INVITE request to the called party SIP terminal appB to request to establish a call; the INVITE request is first sent to the group of the VoLTE public network, and then sent to the PBX-1 registered by the calling party SIP terminal; the INVITE request contains the first SDP (Session Description Protocol) message body, which describes the media capabilities of the calling party (such as address, port, media type, etc.).

[0199] PBX-1 forwards the INVITE request to PBX-2 where the called party's SIP terminal is registered; PBX-2 sends an IAM (InitialAddress Message, similar to the INVITE request) message and forwards it to the called party's SIP terminal appB via the VoLTE public network packet;

[0200] The called party SIP terminal appB responds by sending an ACM (Address Complete Message, indicating that the called party's request has been received); the called party SIP terminal appB sends a 180Ringing response, indicating that the called party is ringing;

[0201] After the called party decides to answer the call, it sends a 200OK response, indicating that the call is successfully established. The 200OK response also contains a second SDP message body, which describes the media capabilities of the called party. The (Answer Message) message is used to indicate that the called party has answered.

[0202] The calling party confirms the call and sends an ACK request to confirm receipt of the called party's 200OK response, completing the call establishment process; both parties start an IP voice call;

[0203] The called party sends a REL (Release) message to release the call; PBX-2 sends an RLC (Release Complete) message to the called party's SIP client appB to confirm that the call release is complete, similar to a 200OK response;

[0204] End call, BYE: After the call ends, either party (calling party or called party) sends a BYE request to end the call.

[0205] 200OK: The party receiving the BYE request sends a 200OK response to confirm the end of the call.

[0206] This application uses a carefully planned Request-URI to enable the SIP terminal of an IP voice user to register with different PBXs, thereby achieving the purpose of expanding the number of IP voice users.

[0207] In this way, the VoIP system can flexibly add new IP voice users without affecting existing users. This method not only improves the scalability of the system, but also reduces the risk and cost of replacing the entire system due to an increase in the number of users.

[0208] Careful planning of Request-URI is the key to this expansion strategy. It ensures that each SIP terminal can be correctly routed to the corresponding PBX, thus ensuring the continuity and efficiency of communication.

[0209] This solution is like adding a new telephone exchange to a city and making sure every resident knows which new exchange their phone should be connected to. This way, even as the city's population grows, telephone service can remain stable and reliable.

[0210] The method of the present invention and the hardware designed include:

[0211] SIP client: Users use mobile phones or computers and other terminal devices to deploy VoIP SIP clients to communicate with other users, such as Figure 7 The SIP client runs the SIP client app, and the IP voice user makes and receives IP voice calls through the Internet.

[0212] Infrastructure: IoT dedicated line, in order to ensure the stability and security of IP voice communication, IoT dedicated line is opened to ensure that IP voice phone data packets can be quickly and securely transmitted to the target SIP client.

[0213] IP voice backend: The IP voice backend consists of two parts: the PBX system and the user management server, both of which are connected to the network switch. The PBX system is responsible for handling the routing and connection of IP voice calls; the user management server is responsible for managing user management account data and the permissions of IP voice users;

[0214] The IoT dedicated line is connected to the network switch of the IP voice background. IP voice users access the user management server and PBX through the IoT dedicated line to ensure the smoothness of the entire IP voice communication process.

[0215] SIP users in the VoIP system can easily access the user management server and the designated PBX through the IoT dedicated line, such as Figure 8 shown.

[0216] The user management server creates a user management account and password for each user, and binds the SIP intercommunication number and user management account. The SIP terminal logs in to the user management server through the IoT dedicated line to obtain its own SIP intercommunication number and password, as well as Request-URI. The SIP terminal uses this information to register with the PBX through the IoT dedicated line, so that IP voice users can make and receive IP voice calls.

[0217] Through the method of the present invention, the VoIP system can easily expand the number of users without replacing the entire system. Users can seamlessly join the VoIP system and enjoy high-quality IP voice services. The present invention not only improves the scalability of the system, but also ensures the stability and security of communication, providing users with a reliable and efficient communication platform.

[0218] The present invention utilizes Request-URI to realize multi-center registration of users, fundamentally breaks through the limitation of the number of IP voice users, and expands the number of users of the VoIP system to a specified number according to demand.

[0219] In summary, the method for implementing IP voice user capacity expansion by using Request-URI in a mobile communication network according to an embodiment of the present invention has the following beneficial effects:

[0220] 1. The present invention uses the LSTM model to predict the load of the PBX and intelligently selects the PBX with the lowest load for user registration. By comparing the prediction results at the comparison layer, it ensures that the user is assigned to the PBX with the lowest current load, thereby improving the overall performance and stability of the system; it solves the technical problem in the existing VoIP system that when a user registers to a single PBX, when the PBX load is too high, the user cannot be automatically assigned to other PBXs, resulting in a decrease in system performance;

[0221] 2. The present invention realizes seamless dynamic expansion of IP voice users by adding a new PBX and configuring a cascade with the original PBX. When the number of users increases, a new PBX can be flexibly added without replacing the entire system, reducing the cost of expansion; it solves the problem that the number of users of traditional PBXs has a maximum limit. When the number of users exceeds 20,000, it cannot meet the user demand of a large system and needs to replace the cloud-deployed PBX, which is costly and has a low cost-performance ratio;

[0222] 3. The present invention realizes the registration of SIP terminals to different PBXs by designing a unique Request-URI for each PBX. The Request-URI is not only the unique identifier of the PBX, but also plays an important role in key links such as load balancing, dynamic routing, and call establishment, ensuring the scalability, stability, and efficiency of the system. This multi-center architecture design enables the system to flexibly allocate users and quickly respond to changes in the number of users, thereby improving the flexibility and scalability of the system; it solves the technical problem that the expansion of the traditional PBX system requires the replacement of equipment or large-scale network upgrades, has poor flexibility, and cannot quickly adapt to changes in the number of users;

[0223] 4. The present invention realizes end-to-end private IP communication through the special configuration of the network switch (such as VLAN, routing rules and NAT rules). Voice data is transmitted in the private network, and the routing loopback mechanism of the network switch ensures the privacy of communication, thereby improving the security of communication. It solves the technical problem that in the existing IP voice communication, media voice data is usually transmitted in the public network, which is at risk of being eavesdropped and tampered with, and the communication security is low;

[0224] 5. This technical solution not only solves the technical problems of high expansion cost, poor flexibility, insufficient load balancing and other technical problems in the existing technology, but also improves the overall performance, stability and communication security of the system, providing an efficient, flexible and cost-effective expansion solution for the VoIP system.

[0225] The above description is only a preferred specific implementation manner of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by any technician familiar with the technical field within the technical scope disclosed by the present invention should be covered within the protection scope of the present invention.

Claims

1. A method for expanding the number of IP voice users by using Request-URI in a mobile communication network, characterized in that: The steps include: Add corresponding SIP terminals for IP voice users based on their needs and create user management accounts; Determine whether there are idle SIP intercommunication numbers in all current PBXs; If yes, then select a PBX with an idle SIP intercommunication number and the lowest load, and bind the idle SIP intercommunication number in the PBX and the Request-URI of the PBX to the user management account; The PBX releases the number to activate the bound idle SIP intercommunication number; The IP voice user uses the SIP terminal to register with the PBX with the lowest load based on the user management account, and makes an IP voice call after successful registration; If not, a new PBX is added and the cascade connection between the new PBX and the original PBX is configured, and the idle SIP intercommunication number in the new PBX is bound to the user management account to achieve seamless dynamic expansion of IP voice users.

2. The method according to claim 1, characterized in that: Use the following method to obtain the PBX with idle SIP intercommunication numbers and the lowest load, as follows: Collect PBX load data and IP voice user behavior data within a certain historical period and pre-process them to form a sample training set; Construct an LSTM model including an LSTM layer, a fully connected layer and a comparison layer; wherein the LSTM layer is used to process the preprocessed IP voice user behavior data, the fully connected layer is used to output the prediction result of each PBX load data; the comparison layer is used to compare the prediction results of each PBX load data to obtain the PBX with the lowest load; The LSTM model is trained using the sample training set; during the training process, a mean square error loss function MSE is used, and an Adam optimizer is used to iteratively optimize the model parameters; Until the mean square error loss function MSE converges, a trained LSTM model is obtained; The IP voice user behavior data corresponding to the PBX with idle SIP intercommunication numbers obtained in real time is pre-processed and input into the trained LSTM model to obtain the PBX with idle SIP intercommunication numbers and the lowest load.

3. The method according to claim 2, characterized in that: The PBX load data includes the CPU usage, memory usage, network bandwidth usage and the number of IP voice users registered on the PBX; The IP voice user behavior data includes the call frequency, call duration and registration time of the IP voice user; The obtaining of the PBX that currently has an idle SIP intercommunication number and has the lowest load includes: Calculate the load value of the PBX that currently has idle SIP intercommunication numbers based on the real-time predicted CPU usage, memory usage, network bandwidth occupancy, and the number of IP voice users registered on the PBX; Based on the Request-URI of the PBX with the smallest load value, the corresponding PBX with the lowest load value is obtained, and the SIP terminal is guided to the PBX with the lowest load value for registration.

4. The method according to claim 1, characterized in that: The new PBX is cascaded with the original PBX via SIP trunks, and the transmission protocol is selected; Each PBX has its own inter-office prefix and outgoing route. When the SIP intercommunication number segment of any PBX is changed, the inter-office prefix and outgoing route of the corresponding PBX are updated; The Request-URI is used to identify the unique address of each PBX, guiding the SIP terminal to correctly find the corresponding PBX for registration and communication; The inter-office prefix is ​​used to distinguish whether the IP voice call type is a local call or an outgoing call; the outgoing route is used to associate the inter-office prefix with the SIP trunk to ensure that the outgoing call can be transmitted to the target PBX through the correct SIP trunk.

5. The method according to claim 4, characterized in that: When making an IP voice call, the SIP number segment and prefix matching is performed based on the SIP intercommunication number corresponding to the called party's SIP terminal, as follows: If the SIP intercommunication number of the called party is within the SIP intercommunication number segment of the calling party's PBX, and the prefix of the SIP intercommunication number of the called party matches the inter-office prefix configured on the calling party's PBX, then it is a local call. Otherwise it is an outgoing call; The outgoing call includes: The calling party's SIP terminal transmits IP voice to the target PBX registered by the called party's SIP terminal through the PBX it registers and the SIP trunk between the cascaded PBXs, thereby realizing an IP voice call with the called party; wherein the Request-URI is used to identify the address of the target PBX to ensure that the IP voice call is correctly routed to the target PBX.

6. The method according to claim 1, characterized in that: The SIP terminal is a customized terminal, and the IP voice user registers and makes IP voice calls through the app deployed on the SIP terminal.

7. The method according to claim 1, characterized in that: Allocate a unique SIP intercommunication number and set a password for each newly added SIP terminal, which is used for identity authentication when the SIP terminal registers with the PBX; The SIP intercommunication numbers of all IP voice users form a SIP intercommunication number pool; Based on the deployment location of the PBX, a unique Request-URI is designed for each PBX; the Request-URI includes the domain name, subdomain name, port number, and supported transport protocol; Each IP voice user uses the user management account and corresponding password to log in to the IP voice user management server using the app of the SIP terminal.

8. The method according to claim 7, characterized in that: The IP voice user uses the SIP terminal to register with the PBX with an idle SIP intercommunication number and the lowest load based on the SIP intercommunication number and password bound to the user management account; The PBX verifies the validity of the SIP intercommunication number and password, and accepts the registration application if they are valid; otherwise, the registration application is rejected; If the registration is successful, the SIP terminal makes an IP voice call through the registered PBX.

9. The method according to claim 1, characterized in that: The PBX releases a number through the SIP server, activates the idle SIP intercommunication number and binds it to the SIP terminal; The SIP terminal obtains a unique SIP intercommunication number and a corresponding password.

10. The method according to any one of claims 1 to 9, characterized in that: The calling party and the called party of the IP voice user use SIP terminal appA and SIP terminal appB respectively to conduct an IP voice call, including: The SIP terminal appA and SIP terminal appB are respectively connected to the network switch via a public network dedicated line; The SIP terminal appA uses its user management account to send a call request to the bound PBX, and the PBX verifies the validity of the SIP intercommunication number and password of the SIP terminal appA. If valid, the call request is accepted; The SIP terminal appA sends an INVITE request to initiate a call to the SIP terminal appB; wherein the INVITE request includes a first SDP message body, and the first SDP message body carries the address and port information of the SIP terminal appA; Based on the INVITE request initiated by the SIP terminal appA, the SIP terminal appB receives the INVITE request and parses the address and port information of the SIP terminal appA from the first SDP message body; Based on the configuration of the network switch, the SIP terminal appB sends a response message to the SIP terminal appA, where the response message includes a second SDP message body, and the second SDP message body carries the address and port information of the SIP terminal appB; Based on the first and second SDP information bodies exchanged between the SIP terminal appA and the SIP terminal appB, the two parties establish a media stream and start an IP voice call; The configuration of the network switch includes configuring VLAN, routing rules and NAT rules.