Telephone scheduling method and device, electronic equipment and storage medium
By generating call request information on the client and directly scheduling call connection, the performance bottleneck problem of SIP scheduling telephone system in high concurrency scenarios is solved, the system reliability and communication efficiency are improved, and the user is improved. Experience.
Patent Information
- Application Number
- CN202411169239.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-23
- Publication Date
- 2024-12-13
AI Technical Summary
In high concurrency scenarios, the hardware performance and data processing capabilities of the SIP scheduling telephone system are difficult to meet a large number of communication requests, resulting in limited system stability and call efficiency, especially in emergency command scenarios.
By generating call request information on the client and determining the terminal identification information based on the telephone address book obtained from the scheduling server, directly sending scheduling call connection data between clients, reducing dependence on the scheduling server and realizing direct access between clients Schedule call connections to reduce system load and single point of failure risk.
Improves the reliability, scalability and communication efficiency of the system, reduces communication delay, adapts to multiple network environments, improves user experience and overall system performance, and solves the performance bottleneck problem of traditional SIP scheduling telephone systems in high concurrency scenarios .
Smart Images

Figure CN119135663A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communication technology, and in particular to a telephone dispatching method, a telephone dispatching device, an electronic device and a computer-readable storage medium. Background Art
[0002] With the rapid development of Internet technology, the dispatch telephone system based on Session Initiation Protocol (SIP) has been widely used in the field of modern communications. SIP protocol is an application layer control protocol used to create, modify and terminate multimedia sessions (such as voice, video, messages, etc.). Due to its simplicity of configuration and management, high reliability, low cost and wide support for multiple communication protocols, SIP dispatch telephone system plays an increasingly important role in communication dispatch in various enterprises, institutions and public security fields.
[0003] The flexibility and scalability of the SIP protocol give it obvious advantages in many communication application scenarios. Specifically, the SIP dispatch phone system can not only easily interoperate with other communication devices, but also support different types of communication modes, such as voice calls, video conferencing, instant messaging, etc. This diverse communication support has greatly broadened the application scenarios of SIP phones, making it an indispensable communication tool in modern enterprises and organizations.
[0004] In the current SIP dispatch telephone system, the working principle of telephone dispatch is mainly to forward and manage data through the dispatch server. Usually, when user A's phone (phone A) initiates a call, it will first establish a communication channel with the dispatch server. After receiving the call request, the dispatch server will forward the request to the target user B's phone (phone B) according to the preset dispatch rules or policies. Subsequently, the dispatch server will establish a communication channel with phone B and complete the data transmission from phone A to phone B through its own forwarding function.
[0005] In the above communication process, the dispatch server is at the core of the communication link. Its main responsibilities include controlling and managing the communication status of each telephone and forwarding data between different telephones. For scenarios where multiple telephones communicate at the same time, the dispatch server needs to establish independent communication channels for each communication session and perform parallel processing and forwarding of data between multiple channels. Therefore, the performance of the dispatch server directly affects the stability and communication quality of the entire dispatch telephone system. Moreover, in some scenarios such as emergency command, calls between telephones need to rely on the communication between each telephone and the dispatch server, which seriously affects the efficiency of calls between telephones.
[0006] However, with the continuous growth of communication needs, especially in high-concurrency scenarios, the dispatch server needs to handle a large number of communication requests at the same time, which puts higher requirements on its hardware performance and data processing capabilities. In addition, the dispatch server will also become a limiting factor for client calls in some emergency situations, and even affect call efficiency and user experience. Summary of the invention
[0007] In view of the above problems, embodiments of the present invention are proposed to provide a telephone dispatch method, a telephone dispatch device, an electronic device and a computer-readable storage medium that overcome the above problems or at least partially solve the above problems.
[0008] In order to solve the above problems, an embodiment of the present invention discloses a telephone scheduling method, which is applied to a first client, and the method includes: generating call request information for a second client; determining the terminal identification information of the second client based on the call request information and the telephone address book obtained from the scheduling server; based on the communication network accessed by the first client and the second client, sending scheduling call connection data to the second client according to the terminal identification information of the second client, so that the second client can establish a scheduling call connection with the first client according to the scheduling call connection data.
[0009] Optionally, determining the terminal identification information of the second client based on the call request information and the telephone address book obtained from the scheduling server includes: transmitting the call request information to the virtual network card of the first client; using the network proxy plug-in to read the call request information from the virtual network card, and parsing the network address of the second client from the call request information; and querying the terminal identification information of the second client corresponding to the network address of the second client in the telephone address book.
[0010] Optionally, after generating the call request information for the second client, the method further includes: determining the call status information of the second client according to the call request information and the telephone address book.
[0011] Optionally, determining the call status information of the second client according to the call request information and the telephone address book includes: querying the call status information of the second client corresponding to the network address of the second client in the telephone address book.
[0012] Optionally, before generating call request information for the second client, the method also includes: sending network access request information to the network management server of the communication network; receiving terminal identification information of the first client returned by the network management server based on the network access request information; creating a virtual network card of the first client based on the terminal identification information of the first client, and configuring the network address of the first client for the virtual network card of the first client.
[0013] Optionally, after configuring the network address of the first client for the virtual network card of the first client, the method further includes: sending a connection establishment request message to the scheduling server, so that the scheduling server establishes a network connection between the first client and the scheduling server according to the connection establishment request message; wherein the connection establishment request message includes the network address of the first client, the terminal identification information of the first client and the call status information of the first client.
[0014] Optionally, after the second client establishes a scheduled call connection with the first client according to the scheduled call connection data, the method further includes: sending call synchronization information to the scheduling server, so that the scheduling server updates the call status information of the first client and the call status information of the second client according to the call synchronization information, and pushes the updated call status information of the first client and the call status information of the second client to other clients; wherein the call synchronization information includes client information of the calling client, client information of the called client, call status information of the calling client, and call status information of the called client.
[0015] An embodiment of the present invention also discloses a telephone scheduling device, which is applied to a first client, and the device includes: a call request information generation module, which is used to generate call request information for a second client; a terminal identification information determination module, which is used to determine the terminal identification information of the second client based on the call request information and a telephone address book obtained from a scheduling server; and a scheduling call connection module, which is used to send scheduling call connection data to the second client according to the terminal identification information of the second client based on the communication network accessed by the first client and the second client, so that the second client can establish a scheduling call connection with the first client according to the scheduling call connection data.
[0016] Optionally, the terminal identification information determination module includes: a call request information transmission module, used to transmit the call request information to the virtual network card of the first client; a call request information parsing module, used to read the call request information from the virtual network card using the network proxy plug-in, and parse the network address of the second client from the call request information; a terminal identification information query module, used to query the terminal identification information of the second client corresponding to the network address of the second client in the telephone address book.
[0017] Optionally, the device further comprises: a call status information determination module, configured to determine the call status information of the second client according to the call request data and the telephone address book after the call request information generation module generates the call request information for the second client.
[0018] Optionally, the call status information determining module is used to query the call status information of the second client corresponding to the network address of the second client in the telephone address book.
[0019] Optionally, the device also includes: a network access request module, used to send a network access request information to the network management server of the communication network before the call request information generation module generates the call request information for the second client; a terminal identification receiving module, used to receive the terminal identification information of the first client returned by the network management server according to the network access request information; a network address configuration module, used to create a virtual network card of the first client according to the terminal identification information of the first client, and configure the network address of the first client for the virtual network card of the first client.
[0020] Optionally, the device also includes: a connection establishment request module, which is used to send a connection establishment request message to the scheduling server after the network address configuration module configures the network address of the first client for the virtual network card of the first client, so that the scheduling server establishes a network connection between the first client and the scheduling server according to the connection establishment request message; wherein the connection establishment request message includes the network address of the first client, the terminal identification information of the first client and the call status information of the first client.
[0021] Optionally, the device also includes: a call synchronization module, which is used to send call synchronization information to the scheduling server after the second client establishes a scheduling call connection with the first client according to the scheduling call connection data, so that the scheduling server updates the call status information of the first client and the call status information of the second client according to the call synchronization information, and pushes the updated call status information of the first client and the call status information of the second client to other clients; wherein the call synchronization information includes client information of the calling client, client information of the called client, call status information of the calling client, and call status information of the called client.
[0022] An embodiment of the present invention also discloses an electronic device, including: one or more processors; and one or more machine-readable media storing instructions thereon, which, when executed by the one or more processors, enable the electronic device to execute the telephone scheduling method as described above.
[0023] The embodiment of the present invention further discloses a computer-readable storage medium, wherein the computer program stored in the storage medium enables a processor to execute the telephone dispatching method as described above.
[0024] The embodiments of the present invention include the following advantages:
[0025] The telephone dispatching scheme provided in the embodiment of the present invention is applied to a first client. The first client generates call request information for a second client. Then, according to the call request information and the telephone address book obtained from the dispatching server, the terminal identification information of the second client is determined. Furthermore, based on the communication network accessed by the first client and the second client, dispatch call connection data is sent to the second client according to the terminal identification information of the second client, so that the second client performs a dispatch call connection with the first client according to the dispatch call connection data.
[0026] The embodiment of the present invention reduces the reliance on the scheduling server by directly generating call request information on the first client and determining the terminal identification information of the second client according to the telephone address book obtained in advance from the scheduling server. This means that the scheduling server does not need to process the data forwarding task of each communication session, thereby reducing the workload and hardware performance requirements of the scheduling server. By directly sending and receiving the scheduling call connection data between the clients, the reliance on a single scheduling server is reduced, thereby reducing the single point failure risk of the system and improving the reliability and stability of the overall system. By directly establishing a scheduling call connection between the first client and the second client, the communication load is dispersed to each client, thereby improving the scalability of the system. The direct scheduling communication connection mode between the clients can better adapt to the needs of large-scale concurrent communication and is not easily restricted by the performance of a single scheduling server. By directly establishing a scheduling call connection between the clients, the intermediate links of data transmission are reduced, thereby reducing communication delays, improving communication efficiency, and making the call experience smoother. Direct communication is allowed based on different communication networks (such as the Internet, visual network, etc.) accessed by the client, which enables the system to flexibly adapt to various network environments and further expands the diversity of application scenarios. By obtaining the telephone address book from the scheduling server, the client can quickly and accurately determine the terminal identification information of the second client. This method improves the response speed during the call process, simplifies the terminal identification management process, and enhances the user experience.
[0027] In summary, the embodiments of the present invention effectively solve the performance bottleneck problem that the traditional SIP dispatch telephone system may face in high concurrency scenarios by optimizing the communication path and dispersing the system load, and bring significant beneficial effects in reliability, scalability, communication efficiency and adaptability. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Figure 1 is a flowchart of the steps of a telephone dispatching method according to an embodiment of the present invention;
[0029] Figure 2 It is a schematic diagram of the principle of a SIP telephone dispatching solution based on a visual network according to an embodiment of the present invention;
[0030] Figure 3 It is a schematic diagram of the principle of a method for implementing a SIP dispatching call based on a visual network according to an embodiment of the present invention;
[0031] Figure 4 The present invention is a block diagram of a telephone dispatching device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0032] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.
[0033] The telephone dispatching scheme proposed in the embodiment of the present invention simplifies the process of establishing a dispatching call connection by generating call request information for the second client at the first client, and determining the terminal identification information of the second client based on the telephone address book obtained from the Duoduo server. Based on the communication network accessed by the first client and the second client, the scheme can directly send dispatching call connection data to the second client, so that the clients at both ends can make a direct dispatching communication connection without the need for the dispatching server to forward the dispatching call connection data. This method not only reduces the load on the dispatching server, improves the reliability and scalability of the system, but also improves communication efficiency, adapts to a variety of network environments, and effectively solves the performance bottleneck problem of the traditional SIP dispatching telephone system in high concurrency scenarios.
[0034] Reference Figure 1 , shows a flowchart of the steps of a telephone scheduling method according to an embodiment of the present invention. The telephone scheduling method can be applied to a first client, and the telephone scheduling method can specifically include the following steps:
[0035] Step 101: Generate call request information for a second client.
[0036] In an embodiment of the present invention, the first client needs to generate a call request message for the second client. The generation of the call request message directly affects the execution of subsequent steps and the quality of the call. The call request message usually includes key information such as the identity information of the first client, the call type, the priority level, and the encryption requirement, and is used to instruct the scheduling server and the target client how to process the call request.
[0037] In actual application, when a user initiates a call request, the first client collects key information input by the user, such as the target phone number or user name. Such input information is usually provided by the user through a graphical user interface (GUI), or may come from contact information stored in the user's address book. On this basis, the first client converts the key information input by the user into a standardized call request format according to a predetermined communication protocol (such as SIP).
[0038] When generating the call request information, the first client also needs to consider some specific communication parameters. For example, if the call needs to be encrypted, the call request information may contain information about the encryption algorithm to ensure that the information transmission during the call is secure. In addition, if the call request needs to be processed with priority, the first client can also add a priority identifier to the call request information to ensure that the call request can be processed with priority when the network load is high. The settings of these details not only improve the accuracy of the call request, but also lay a good foundation for the subsequent call establishment and data transmission.
[0039] For example, suppose user A initiates a call request on the first client to contact user B. User A enters user B's phone number through the interface of the first client, selects the voice call mode, and hopes that the call will be encrypted. After receiving these inputs, the first client generates a call request message containing the target phone number, call mode, and encryption requirements. This call request message is encapsulated in the format of the SIP protocol so that it can be correctly parsed and processed by other system components in subsequent steps.
[0040] Step 102: Determine the terminal identification information of the second client according to the call request information and the telephone directory obtained from the scheduling server.
[0041] In the embodiment of the present invention, the terminal identification information is the key to ensure that the call can be successfully established, because it indicates the destination of the call request and helps the system to correctly transmit the scheduled call connection data to the target client.
[0042] In actual application, the first client will parse the previously generated call request information and extract the identification information related to the target client, such as phone number or user name. This information is the basis for matching with the records in the address book. The address book is a structured data storage that contains various detailed information related to the client, including phone number, user name, device identifier (ID), etc. When designing the system, the address book is usually managed and updated by the scheduling server and synchronized to each client regularly to ensure the real-time and accuracy of the data.
[0043] Next, the first client will use the telephone address book obtained from the dispatch server to search and match the extracted identification information. The matching process is usually implemented by string comparison, that is, the phone number or user name in the call request is compared with the records in the dispatch address book one by one until a completely matching record is found. Once the match is successful, the first client will extract the terminal identification information in the record. The terminal identification information may include the device ID, network address and other necessary network connection information of the target client.
[0044] For example, suppose the call request information contains user B's phone number "123456789". The first client will search for the record corresponding to the phone number from the phone address book obtained by the dispatch server. If a record is found in the dispatch address book, showing that user B's phone number is "123456789", and the corresponding device ID is "Device_B_ID", and the network address is "192.168.1.2", then this information will be determined as the terminal identification information of the second client. This identification information will be used in subsequent steps to establish a dispatch communication connection with the target client.
[0045] Step 103, based on the communication network accessed by the first client and the second client, sending the scheduling call connection data to the second client according to the terminal identification information of the second client, so that the second client performs the scheduling call connection with the first client according to the scheduling call connection data.
[0046] In an embodiment of the present invention, the first client selects a suitable communication protocol and data transmission path according to the obtained terminal identification information. In a system based on the SIP protocol, the dispatch call connection data usually includes necessary metadata information such as the Session Description Protocol (SDP) for specifying the media format, encryption requirements, network address, etc. of the call. This information is crucial for successfully establishing a dispatch communication connection because it defines the method and path of data transmission during the call.
[0047] Next, the first client sends these dispatch call connection data to the second client through the communication network. The choice of communication network depends on the access method of both clients, which can be the Internet, Public Switched Telephone Network (PSTN), Local Area Network (LAN), video network, etc. During the sending process, the first client will ensure the reliable transmission of data based on the network conditions and the parameters in the dispatch call connection data. This process may involve data segmentation transmission, Network Address Translation (NAT) and other technologies to adapt to data transmission requirements in different network environments.
[0048] When the second client receives the dispatch call connection data, it will start the corresponding communication module according to the metadata information therein to complete the dispatch call connection with the first client. For example, if the network address of the second client determined by the first client is "192.168.1.2" and the device ID is "Device_B_ID", the first client will send SDP data to the address to notify the second client to prepare to receive the voice or video data stream. After the second client parses the SDP data, it will establish the corresponding dispatch communication channel and return a confirmation message to the first client to complete the establishment of the dispatch call connection. Finally, users on both sides can communicate in real time through this channel.
[0049] The telephone dispatching scheme provided in the embodiment of the present invention is applied to a first client. The first client generates call request information for a second client. Then, according to the call request information and the telephone address book obtained from the dispatching server, the terminal identification information of the second client is determined. Furthermore, based on the communication network accessed by the first client and the second client, dispatch call connection data is sent to the second client according to the terminal identification information of the second client, so that the second client performs a dispatch call connection with the first client according to the dispatch call connection data.
[0050] The embodiment of the present invention reduces the reliance on the scheduling server by directly generating call request information on the first client and determining the terminal identification information of the second client according to the telephone address book obtained in advance from the scheduling server. This means that the scheduling server does not need to process the data forwarding task of each communication session, thereby reducing the workload and hardware performance requirements of the scheduling server. By directly sending and receiving the scheduling call connection data between the clients, the reliance on a single scheduling server is reduced, thereby reducing the single point failure risk of the system and improving the reliability and stability of the overall system. By directly establishing a scheduling call connection between the first client and the second client, the communication load is dispersed to each client, thereby improving the scalability of the system. The direct scheduling communication connection mode between the clients can better adapt to the needs of large-scale concurrent communication and is not easily restricted by the performance of a single scheduling server. By directly establishing a scheduling call connection between the clients, the intermediate links of data transmission are reduced, thereby reducing communication delays, improving communication efficiency, and making the call experience smoother. Direct communication is allowed based on different communication networks (such as the Internet, visual network, etc.) accessed by the client, which enables the system to flexibly adapt to various network environments and further expands the diversity of application scenarios. By obtaining the telephone address book from the scheduling server, the client can quickly and accurately determine the terminal identification information of the second client. This method improves the response speed during the call process, simplifies the terminal identification management process, and enhances the user experience.
[0051] In summary, the embodiments of the present invention effectively solve the performance bottleneck problem that the traditional SIP dispatch telephone system may face in high concurrency scenarios by optimizing the communication path and dispersing the system load, and bring significant beneficial effects in reliability, scalability, communication efficiency and adaptability.
[0052] In an exemplary embodiment of the present invention, an implementation method for determining the terminal identification information of the second client based on the call request information and the telephone address book obtained from the scheduling server is to transmit the call request information to the virtual network card of the first client; use the network proxy plug-in to read the call request information from the virtual network card, and parse the network address of the second client from the call request information; and query the terminal identification information of the second client corresponding to the network address of the second client in the telephone address book.
[0053] In actual application, the virtual network card can be a network interface implemented by software, which is similar to a physical network card in function, but does not depend on the actual hardware device. It acts as a virtual network data interface in the first client, which can be used to simulate the network environment, filter and redirect network data. For example, the virtual network card can be used to connect the first client to the visual network, and then use the visual network to transmit information, data, etc. In this embodiment, the call request data will be transmitted to the virtual network card of the first client. The significance of this step is to isolate the information processing flow of the call request information from the physical network device, thereby improving the flexibility of data processing. In this way, efficient data parsing and processing can be performed without relying on specific physical devices. As an application layer tool, the network proxy plug-in can read the transmitted data packets from the virtual network card and perform necessary parsing operations. The network proxy plug-in plays the role of a data bridge here. It can parse the call request information captured in the virtual network card and extract key network information. Specifically, the network proxy plug-in will parse the network address of the second client, which is usually in the form of an Internet Protocol (IP) address. The IP address is the unique identifier of the device in the network and determines the final destination of the data packet.
[0054] Next, the first client will match the resolved network address of the second client with the data in the phone address book. The phone address book usually stores detailed information related to each client, including network address, device ID, user name, etc. By querying the record corresponding to the network address, the first client can extract the terminal identification information of the second client, which is crucial for subsequent scheduling communication connections. The terminal identification information not only includes the device ID, but may also include specific encryption algorithm parameters, network protocol type, etc. to ensure the security and compatibility of the communication process.
[0055] For example, suppose the first client initiates a call request. After the request is transmitted to the virtual network card, the network proxy plug-in reads and parses the IP address of the second client "192.168.1.10". Then, the first client will search for a record matching the IP address in the phone address book, and find the corresponding terminal identification information "Device_X_ID", as well as the relevant visual network protocol and encryption requirements. Through this process, the first client ensures that the second client's device can be accurately located, and lays the foundation for the subsequent scheduling call connection.
[0056] The embodiment of the present invention isolates the data processing flow from the physical network device by using a virtual network card, thereby enhancing the flexibility and independence of data processing. The use of a network proxy plug-in ensures the efficiency and accuracy of data parsing, thereby improving the response speed of the communication system. In addition, by performing precise matching in the phone address book, the first client can effectively avoid the problem of communication connection failure caused by network address confusion or error.
[0057] In an exemplary embodiment of the present invention, after generating the call request information for the second client, an implementation method is to determine the call status information of the second client according to the call request information and the phone address book. After generating the call request information for the second client, the first client needs to determine the call status information of the second client to ensure the effectiveness and smoothness of the communication. The call status information generally includes whether the call is currently in progress, whether the device is online, the network connection status, whether the line is busy, etc. This information is crucial for deciding whether to continue to initiate the call request, because it can avoid making unnecessary calls when the other party is busy or cannot be connected, thereby optimizing the use of communication resources.
[0058] In actual application, the first client will identify the identity or network address of the second client based on the generated call request information. The call request information usually includes the request time of the initiator, the identification information of the target device, and the communication type (such as voice call or video call). With this information, the first client can accurately locate the target device that needs to initiate communication, that is, the second client. Once the identity of the second client is determined, the first client will retrieve the relevant information of the device from the phone address book. The phone address book not only stores the basic information of the device, such as the network address (such as IP address) and device identifier, but also may contain the status information record of the device. By querying these records, the first client can obtain the current status of the second client. Next, the first client will analyze the call status information to decide whether to initiate a call. For example, if the second client is currently in another call, the first client may choose not to initiate a new call request to avoid interfering with the existing call. At the same time, if it is found that the device of the second client is offline, the first client may postpone the call request or notify the first client that the device is unavailable. This decision-making process based on call status information can significantly improve the intelligence of the system and ensure the efficiency and stability of the communication process.
[0059] For example, in the visual network, suppose user A of the first client wants to contact user B of the second client. User A's device generates a call request message for user B, which contains the network address of user B in the visual network and the timestamp of initiating the call. After receiving the request, the first client first searches for the relevant record of user B in the phone address book, and finds that user B is currently in another voice call. Based on this call status information, the first client can make the following decisions: first, postpone initiating the call request, wait for user B's call to end, and then automatically try again; second, notify user A that user B is currently busy and recommends trying again later. In this way, the first client not only avoids repeated communication attempts, but also improves the user experience and ensures the rational use of communication resources.
[0060] By querying and analyzing call status information in advance, the embodiment of the present invention can avoid unnecessary communication attempts and reduce the probability of call failures due to busy lines or device offline. It can intelligently determine the status of the target device, so as to provide a reasonable solution when the user cannot get through, such as notifying to retry or suggesting to try again later. In high-concurrency communication scenarios, avoiding repeated invalid call attempts can significantly reduce the system load and ensure that efficient communication services are maintained under limited resources.
[0061] In an exemplary embodiment of the present invention, one implementation method of determining the call status information of the second client according to the call request information and the telephone address book is to query the call status information of the second client corresponding to the network address of the second client in the telephone address book. As an important database for storing communication device information, the telephone address book usually contains the network address, device identification information, recent call records, and current call status information of each client. This information is updated in real time through the Network Management System (NMS) or other monitoring tools to ensure its accuracy and timeliness. The call status information may include key data such as whether the device is online, whether a call is in progress, call duration, network signal strength, etc.
[0062] In actual application, when the first client generates and initiates a call request to the second client, the first client determines the network address of the target device through the request information. Through this network address, the first client can query the phone address book to obtain relevant information about the device, especially its call status information.
[0063] Assuming that user A initiates a call request through the first client, the first client will resolve the IP address "192.168.1.20" of the target user B. Then, the first client searches the phone address book for the record corresponding to the IP address, finds the device identifier of user B, the most recent call record, and the current call status information. Assuming that the first client finds that user B's device is currently offline, the first client may choose not to initiate a call request, but instead notify user A that the device is unavailable, or mark the call request as pending, and wait for user B's device to come online before trying again.
[0064] By querying the call status of the target device before initiating a call request, the first client can avoid unnecessary failed attempts, thereby reducing the user's waiting time and frustration. In high-concurrency scenarios, avoiding invalid calls not only reduces the system load, but also ensures that other communication requests can be processed in a timely manner. By real-time monitoring and updating call status information, the first client can dynamically adjust the communication strategy according to the device status, thereby achieving more efficient and more user-friendly services.
[0065] In an exemplary embodiment of the present invention, an implementation method before generating call request information for the second client is to send a network access request message to a network management server of the communication network; receive terminal identification information of the first client returned by the network management server based on the network access request information; create a virtual network card of the first client based on the terminal identification information of the first client, and configure the network address of the first client for the virtual network card of the first client.
[0066] In actual application, both the first client and the second client can access the visual network and schedule call connections within the visual network. Therefore, the above-mentioned communication network can be a visual network. Before the first client attempts to communicate with other devices, it must first establish a connection with the network management server (NMS) of the visual network. To achieve this goal, the first client will send a network access request message to the NMS. The network access request message usually contains basic information of the first client, such as device model, operating system version, hardware identifier, etc. This information helps the NMS identify and authenticate the legitimacy of the device, while ensuring that the device has the authority to participate in network communications. Once the NMS receives the network access request message, it will process the request and decide whether to allow the device to access the network based on the security policy of the visual network and the attributes of the device. If the request passes the review, the NMS will assign a unique terminal identification information to the first client. This terminal identification information is the identity of the first client in the visual network, which will be used for device identification and management in subsequent network communications. Next, the first client will create a virtual network card based on the terminal identification information received from the NMS. A virtual network card is a software-simulated network adapter that allows the first client to access multiple networks such as the visual network and the Internet on the same device through virtualization technology, thereby achieving more flexible network management. In the process of creating a virtual network card, the first client will configure the various parameters of the virtual network card according to the terminal identification information to ensure that it can correctly process network data packets. Finally, in order for the virtual network card to participate in network communications, the first client also needs to configure a unique network address for it. During the configuration process, the first client will assign an IP address to the virtual network card according to the network configuration rules provided by the NMS. This IP address will be used to identify the first client in subsequent communications and ensure that it can successfully establish connections with other devices.
[0067] For example, suppose that user A's device needs to communicate with user B's device in the visual network. Before initiating a call request, user A's device first sends a network access request to the NMS of the visual network. After receiving the request, the NMS verifies the legitimacy of the device and assigns it a terminal identifier "DeviceA-ID". User A's device then creates a virtual network card and configures it with an IP address "192.168.1.10" based on "DeviceA-ID". This process ensures that user A's device can be correctly identified in the visual network and provides the necessary network support for subsequent call requests.
[0068] The embodiments of the present invention ensure that the device has undergone necessary authentication and configuration before joining a communication network (such as a visual network), thereby improving the security and reliability of the system. Through the centralized management of the NMS, it is possible to effectively prevent illegal devices from entering the network and protect network resources from being abused. The use of virtual network cards improves the utilization rate of network resources. Virtual network cards allow the same device to run in multiple networks, providing a more flexible network management method to meet diverse communication needs. Network configuration based on terminal identification information ensures the uniqueness and identifiability of the device in communication. This configuration process not only provides a guarantee for subsequent communications, but also simplifies the complexity of network management and improves the operating efficiency of the overall communication system.
[0069] In an exemplary embodiment of the present invention, after configuring the network address of the first client for the virtual network card of the first client, an implementation method is to send a connection establishment request message to the scheduling server so that the scheduling server establishes a network connection between the first client and the scheduling server according to the connection establishment request message; wherein the connection establishment request message includes the network address of the first client, the terminal identification information of the first client and the call status information of the first client.
[0070] In actual application, after completing the network address configuration of the virtual network card, the first client needs to notify the scheduling server of its current network status by sending a connection establishment request message. The request message contains several key elements, including the network address of the first client, terminal identification information, and call status information. This information is very important for the scheduling server. It is not only used to identify the first client, but also to determine the client's current communication capabilities and status.
[0071] Specifically, the network address of the first client is its unique identifier in the current network. The dispatch server uses this address to determine the transmission path of the data packet to ensure the accuracy and reliability of the communication. The terminal identification information is assigned by the network management server in the previous step and is used to uniquely identify the first client during the entire communication process. This identifier is not only used in the dispatch server to distinguish different clients, but may also be used for subsequent identity authentication and authority management. Finally, the call status information reflects the current communication status of the first client, such as whether it is idle, whether it is on a call, whether there are missed calls, etc. The dispatch server can better manage and dispatch communication resources through this information to ensure efficient communication.
[0072] Assume that in an enterprise's internal communication system, employee A's device has successfully configured the network address "192.168.1.10" for the virtual network card. After the configuration is completed, employee A's device sends a connection establishment request message to the enterprise's dispatch server. This message contains the device's network address "192.168.1.10", the terminal identifier "DeviceA-ID" and the current call status information "idle". After receiving this request, the dispatch server quickly establishes a network connection with employee A's device and registers the device's information in its management system. After that, employee A's device can communicate with the dispatch server through the enterprise's internal network.
[0073] By sending a connection establishment request message, the first client can promptly and accurately notify the scheduling server of its network configuration and communication status. This ensures that the scheduling server can grasp the status of each client in real time, thereby more effectively scheduling and managing resources. By receiving and processing these request messages, the scheduling server can quickly establish a network connection with the client, reduce the delay in establishing communication, and improve the response speed of the overall system. In addition, by including terminal identification information and call status information, the scheduling server can not only accurately identify and manage the client, but also perform intelligent scheduling according to the current status of the client.
[0074] In an exemplary embodiment of the present invention, after the second client establishes a dispatch call connection with the first client according to the call connection information, an implementation method is to send call synchronization information to the dispatch server, so that the dispatch server updates the call status information of the first client and the call status information of the second client according to the call synchronization information, and pushes the updated call status information of the first client and the call status information of the second client to other clients; wherein the call synchronization information includes the client information of the calling client, the client information of the called client, the call status information of the calling client, and the call status information of the called client. After the second client successfully establishes a dispatch call connection with the first client according to the dispatch call connection data, the dispatch server also needs to further ensure the real-time synchronization of the dispatch call information, so that the dispatch server can timely update the call status information of each client and push the updated status information to other related clients.
[0075] In actual application, when the first client and the second client successfully establish a dispatch call connection, the two clients will send a call synchronization message containing multiple key information to the dispatch server. This message includes detailed information of the calling client and the called client, such as their respective client information and call status information. Specifically, the client information of the calling client usually includes the network address of the calling party, terminal identification information, etc., which is used to uniquely identify the client in the dispatch server. Similarly, the client information of the called client also contains similar content to ensure that the dispatch server can accurately identify the two parties in the call. The call status information is an important part of the call synchronization information, which reflects the status of the current call, such as whether the call has been established, whether the call is in progress, whether there is an interruption, etc. After receiving this information, the dispatch server will promptly update the stored call status of the first client and the second client, and then push the updated call status to other clients, so that other clients can grasp the current call status of the first client and the second client, so as to determine whether to immediately connect to the dispatch call with the first client or the second client. This update process ensures that the dispatch server has an accurate grasp of the real-time status of each client, so that it can quickly make corresponding dispatch decisions when needed.
[0076] Assume that in an enterprise internal communication system, employee A (first client) calls employee B (second client) and successfully establishes a dispatch call connection. When the call starts, employee A's device and employee B's device will send call synchronization information to the enterprise's dispatch server. This information records in detail the network address, terminal identifier, and current call status of employee A and employee B. For example, the call status is marked as "in call". After receiving this information, the dispatch server will quickly update the status of employee A and employee B in its internal database, and push this updated status information to other related clients, such as employee C's device. This allows employee C to understand the call status of employee A and employee B in real time, and decide whether to call employee A or employee B at this time.
[0077] The embodiment of the present invention ensures that the dispatch server can grasp the call status of each client in real time by sending call synchronization information in a timely manner, thereby improving the overall response speed and dispatch efficiency of the system. The dispatch server pushes updated status information to other clients, making the communication within the entire system more transparent and efficient. This synchronization and sharing of information reduces repeated calls and unnecessary communication interruptions, thereby improving the overall user experience. In addition, by automating the update process of call status information, the reliance on manual intervention is reduced, thereby reducing the operational complexity and error rate of the system.
[0078] Based on the above description of a telephone dispatching method embodiment, a SIP telephone dispatching solution based on a visual network is introduced below. Figure 2 , showing a schematic diagram of the principle of a SIP telephone dispatching solution based on a visual network according to an embodiment of the present invention. The SIP telephone dispatching solution based on a visual network may involve: a dispatching server, a dispatching telephone A, a dispatching telephone B and a dispatching telephone C. The dispatching server, the dispatching telephone A, the dispatching telephone B and the dispatching telephone C are connected to the visual network together. Among them, the dispatching server includes a feature application server (Feature Application Server, referred to as FAS) and a network proxy plug-in (V2V-NET) of the telephone system. The dispatching telephones respectively include their own SIP, feature application client (Feature Application Client, referred to as FAC) and V2V-NET.
[0079] The FAS in the dispatch server is the dispatch telephone system server. First, you need to register the dispatch telephone and establish a telephone address book. Specifically, you can register according to the IP address of the dispatch telephone and assign an ID to each dispatch telephone.
[0080] The dispatch server is connected to the visual network. It is necessary to configure the Media Access Control Address (MAC), apply for access to the visual network through V2V-NET, and obtain the visual network number. Create a virtual network card and set the IP address of the virtual network card.
[0081] The FAC in the dispatch telephone is the dispatch telephone system client. The IP address of the local machine and the IP address of the server are set through FAC.
[0082] The dispatch telephone is connected to the video network. Configure the video network MAC and the video network number of the server, and V2V-NET applies for access to the video network. If the application is successful, the video network number is obtained, a virtual network card is created, and the IP address of the virtual network card is set.
[0083] A connection is established between the dispatch phone and the dispatch server. The dispatch phone sends information to the dispatch server through business transparent transmission, including the dispatch phone IP address and the video network number. The dispatch server receives the information, updates the telephone address book and the status of the dispatch phone, and returns the telephone address book and the status of the dispatch phone to the dispatch phone. Each dispatch phone establishes a connection with the dispatch server, and the server will synchronize the updated telephone address book and the status of each dispatch phone to each dispatch phone. The dispatch phone and the dispatch server maintain a keep-alive connection, and the keep-alive information carries information such as the status of the dispatch phone.
[0084] The dispatch phone makes a call. Dispatch phone A calls dispatch phone B according to the IP address in the phone address book. The SIP of dispatch phone A sends data to the virtual network card. V2V-NET receives the data from the virtual network card, resolves the destination IP address to be the IP address of dispatch phone B, queries the phone address book to obtain the video network number of dispatch phone B, and sends a forced videophone connection. Dispatch phone B's V2V-NET connects to the videophone by default. Dispatch phone A can send information such as ringing and video to dispatch phone B. Dispatch phone B can answer the call by picking up the phone.
[0085] Working status synchronization. Dispatch phone A and dispatch phone B synchronize the call status, caller, called party and other information to the dispatch server through a keep-alive connection. The dispatch server obtains the information and updates it. Then it is synchronized to other dispatch phones.
[0086] The dispatch phone ends the call. Dispatch phone B hangs up the phone and ends the call. Each dispatch phone synchronizes its status to the dispatch server, and then the dispatch server updates the status of the dispatch phone.
[0087] It should be emphasized that in the above-mentioned SIP telephone dispatching solution based on the visual network, before the dispatching telephone A and the dispatching telephone B are directly connected to the dispatching call, the dispatching server needs to register with the dispatching telephone A and the dispatching telephone B, establish and update the telephone address book, store and update the call status information, push the telephone address book, push the call status information, and perform a series of processes. When the dispatching telephone A and the dispatching telephone B are directly connected to the dispatching call, the dispatching call connection data can be directly transmitted between the dispatching telephone A and the dispatching telephone B without being forwarded by the dispatching server, thereby avoiding the dispatching server from participating in the dispatching call connection.
[0088] The complete execution process of a SIP phone dispatching solution based on visual networking can be summarized as follows:
[0089] The dispatch server, dispatch telephone A, and dispatch telephone B are all connected to the video network. Moreover, the dispatch server, dispatch telephone A, and dispatch telephone B all obtain their own video network numbers and configure their own virtual network cards.
[0090] Dispatch phone A and dispatch phone B register with the dispatch server respectively. The dispatch server adds or updates the communication records of dispatch phone A and dispatch phone B in the phone address book. The communication records may include but are not limited to: the video network number, network address, device type, device code, device name, etc. of the dispatch phone. In addition, the communication records may also include the call status information of the dispatch phone, such as in call, idle, offline, etc.
[0091] Dispatch phone A and dispatch phone B establish communication connections with the dispatch server respectively. Dispatch phone A and dispatch phone send connection requests to the dispatch server. The connection request includes but is not limited to: the visual network number, network address, device type, device code, device name, etc. of the dispatch phone. The dispatch server establishes communication connections with dispatch phone A and dispatch phone B according to the connection request. Furthermore, the dispatch server will push the telephone address book to all dispatch phones in real time or periodically.
[0092] When dispatch phone A needs to connect to dispatch phone B for a dispatch call, dispatch phone A can query the local phone directory to determine the video network number, network address, and call status information of dispatch phone B. If the call status information of dispatch phone B is idle, dispatch phone A can directly send dispatch call connection data to dispatch phone B to force a dispatch call connection with dispatch phone B. Dispatch phone B can connect to the dispatch call connection with dispatch phone A by default.
[0093] During the process of dispatch telephone A and dispatch telephone B making a dispatch call connection, dispatch telephone A and dispatch telephone B can send call synchronization information to the dispatch server in real time or periodically. The dispatch server updates the call status information of dispatch telephone A and dispatch telephone B in the telephone address book according to the call synchronization information. In addition, the updated telephone address book is pushed to all dispatch telephones.
[0094] When dispatch phone A or dispatch phone B needs to end the dispatch call connection, either dispatch phone A or dispatch phone B can directly hang up the dispatch call connection. At the same time, dispatch phone A and dispatch phone B send new call synchronization information to the dispatch server. In the new call synchronization information, the call status information of dispatch phone A and dispatch phone B are both idle. The dispatch server updates the call status information of dispatch phone A and dispatch phone B in the phone address book according to the new call synchronization information. In addition, the updated phone address book is pushed to all dispatch phones.
[0095] Reference Figure 3 , showing a schematic diagram of the principles of an implementation method of a SIP dispatching phone based on a visual network embodiment of the present invention.
[0096] The implementation method may include visual network management and scheduling management. The visual network management includes network access management, service management, data security management and network exit management. The scheduling management includes registration management, address book management, scheduling management, telephone status management and authorization management.
[0097] It should be noted that, for the sake of simplicity, the method embodiments are described as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.
[0098] Reference Figure 4 , shows a structural block diagram of a telephone dispatching device according to an embodiment of the present invention. The telephone dispatching device is applied to a first client, and the telephone dispatching device may specifically include the following modules.
[0099] A call request information generating module 41, used to generate call request information for the second client;
[0100] A terminal identification information determination module 42, configured to determine the terminal identification information of the second client according to the call request information and the telephone address book obtained from the scheduling server;
[0101] The scheduling call connection module 43 is used to send scheduling call connection data to the second client according to the terminal identification information of the second client based on the communication network accessed by the first client and the second client, so that the second client can make a scheduling call connection with the first client according to the scheduling call connection data.
[0102] In an exemplary embodiment of the present invention, the terminal identification information determination module 42 includes:
[0103] A call request information transmission module, used to transmit the call request information to the virtual network card of the first client;
[0104] A call request information parsing module, used to read the call request information from the virtual network card using the network proxy plug-in, and parse the network address of the second client from the call request information;
[0105] The terminal identification information query module is used to query the terminal identification information of the second client corresponding to the network address of the second client in the telephone address book.
[0106] In an exemplary embodiment of the present invention, the device further comprises:
[0107] The call status information determination module is used to determine the call status information of the second client according to the call request information and the telephone address book after the call request information generation module 41 generates the call request information for the second client.
[0108] In an exemplary embodiment of the present invention, the call status information determining module is used to query the call status information of the second client corresponding to the network address of the second client in the telephone address book.
[0109] In an exemplary embodiment of the present invention, the device further comprises:
[0110] A network access request module, configured to send a network access request message to a network management server of the communication network before the call request message generation module 41 generates the call request message for the second client;
[0111] A terminal identification receiving module, used to receive the terminal identification information of the first client returned by the network management server according to the network access request information;
[0112] A network address configuration module is used to create a virtual network card of the first client according to the terminal identification information of the first client, and configure the network address of the first client for the virtual network card of the first client.
[0113] In an exemplary embodiment of the present invention, the device further comprises:
[0114] a connection establishment request module, configured to send connection establishment request information to a scheduling server after the network address configuration module configures the network address of the first client for the virtual network card of the first client, so that the scheduling server establishes a network connection between the first client and the scheduling server according to the connection establishment request information;
[0115] The connection establishment request information includes the network address of the first client, the terminal identification information of the first client, and the call status information of the first client.
[0116] In an exemplary embodiment of the present invention, the device further comprises:
[0117] A call synchronization module, configured to send call synchronization information to the scheduling server after the second client makes a scheduling call connection with the first client according to the scheduling call connection data, so that the scheduling server updates the call status information of the first client and the call status information of the second client according to the call synchronization information, and pushes the updated call status information of the first client and the call status information of the second client to other clients;
[0118] The call synchronization information includes client information of the calling client, client information of the called client, call status information of the calling client, and call status information of the called client.
[0119] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0120] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.
[0121] It will be appreciated by those skilled in the art that the embodiments of the present invention may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
[0122] The embodiments of the present invention are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0123] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0124] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0125] Although the preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.
[0126] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.
[0127] The telephone dispatch method and the telephone dispatch device provided by the present invention are introduced in detail above. The principle and implementation mode of the present invention are explained by using specific examples in this article. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for those skilled in the art, according to the idea of the present invention, there will be changes in the specific implementation mode and the scope of application. In summary, the content of this specification should not be understood as limiting the present invention.
Claims
1. A telephone dispatching method, characterized in that: Applied to a first client, the method includes: generating call request information for the second client; Determining the terminal identification information of the second client according to the call request information and the telephone address book obtained from the scheduling server; Based on the communication network accessed by the first client and the second client, the scheduling call connection data is sent to the second client according to the terminal identification information of the second client, so that the second client performs the scheduling call connection with the first client according to the scheduling call connection data.
2. The method according to claim 1, characterized in that: The determining the terminal identification information of the second client according to the call request information and the telephone address book obtained from the scheduling server includes: Transmitting the call request information to the virtual network card of the first client; Using the network proxy plug-in to read the call request information from the virtual network card, and resolving the network address of the second client from the call request information; The terminal identification information of the second client corresponding to the network address of the second client is searched in the telephone address book.
3. The method according to claim 2, characterized in that After generating the call request information for the second client, the method further includes: Determine the call status information of the second client according to the call request information and the telephone address book.
4. The method according to claim 3, characterized in that The determining the call status information of the second client according to the call request information and the telephone address book includes: The call status information of the second client corresponding to the network address of the second client is searched in the phone address book.
5. The method according to claim 1, characterized in that Before generating the call request information for the second client, the method further includes: Sending a network access request message to a network management server of the communication network; Receiving the terminal identification information of the first client returned by the network management server according to the network access request information; A virtual network card of the first client is created according to the terminal identification information of the first client, and a network address of the first client is configured for the virtual network card of the first client.
6. The method according to claim 5, characterized in that After configuring the network address of the first client for the virtual network card of the first client, the method further includes: Sending a connection establishment request message to the scheduling server, so that the scheduling server establishes a network connection between the first client and the scheduling server according to the connection establishment request message; The connection establishment request information includes the network address of the first client, the terminal identification information of the first client, and the call status information of the first client.
7. The method according to claim 6, characterized in that After the second client performs a scheduling call connection with the first client according to the scheduling call connection data, the method further includes: Sending call synchronization information to the scheduling server, so that the scheduling server updates the call status information of the first client and the call status information of the second client according to the call synchronization information, and pushes the updated call status information of the first client and the call status information of the second client to other clients; The call synchronization information includes client information of the calling client, client information of the called client, call status information of the calling client, and call status information of the called client.
8. A telephone dispatching device, characterized in that: Applied to a first client, the device comprises: A call request information generating module, used to generate call request information for the second client; A terminal identification information determination module, configured to determine the terminal identification information of the second client according to the call request information and the telephone address book obtained from the scheduling server; A scheduling call connection module is used to send scheduling call connection data to the second client according to the terminal identification information of the second client based on the communication network accessed by the first client and the second client, so that the second client can make a scheduling call connection with the first client according to the scheduling call connection data.
9. An electronic device, characterized in that: include: one or more processors; and One or more machine-readable media having instructions stored thereon, when executed by the one or more processors, cause the electronic device to perform the telephone dispatch method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer program stored therein enables the processor to execute the telephone dispatching method as described in any one of claims 1 to 7.
