Communication method, device, equipment, storage medium and program product
By using stateful security components to send silent media information in SIP calls, the problem of frequently updating whitelists in call centers is solved, and more efficient and secure media server management is achieved.
Patent Information
- Application Number
- CN202510533883.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-25
- Publication Date
- 2025-07-11
AI Technical Summary
In existing SIP calls, the call center needs to frequently update the whitelist of security components of the media server, resulting in poor flexibility, high server pressure, high security risks and serious waste of resources.
The stateful security component is adopted to allow the media address and port to remain open by sending predetermined silent media information, avoiding whitelisting in advance, and opening the security component only when a predetermined signaling is received.
Reduces server pressure, reduces maintenance costs, improves security and docking efficiency, and avoids the exposure risk of media server addresses and ports.
Smart Images

Figure CN120301869A_ABST
Abstract
Description
Technical Field
[0001] Example embodiments of the present disclosure generally relate to the field of communication technologies, and more particularly, to methods, devices, electronic devices, computer-readable storage media, and computer program products for communication. Background Art
[0002] With the rapid development of communication technologies and Internet technologies, the Session Initiation Protocol (SIP) call application has become increasingly widespread. In an SIP call, a call center usually needs to connect many downstream suppliers (operators) and upstream customers' SIP lines. And in an SIP call, due to a large amount of communication pressure on media interaction, many servers responsible for media interaction are usually required. Therefore, the security of media servers needs to be guaranteed. Summary of the Invention
[0003] In a first aspect of the present disclosure, there is provided a method for communication. The method includes: in response to a first device receiving from a second device a request that the second device wants to make a call with a third device, determining a first media address and a first port associated with the second device. After forwarding the request to the third device, in response to receiving a first predetermined signaling from the third device, determining that the third device will send first media information, the first predetermined signaling at least indicating a second media address and a second port associated with the third device. Sending, based on the first predetermined signaling, to the third device a first predetermined silent media information for allowing the second media address and the second port to remain open. Sending to the second device a second predetermined silent media information for allowing the first media address and the first port to remain open. Establishing a call between the first media address and the first port and the second media address and the second port.
[0004] In a second aspect of the present disclosure, there is provided a device for communication. The device includes: a first determination module configured to, in response to a first device receiving from a second device a request that the second device wants to make a call with a third device, determine a first media address and a first port associated with the second device. A second determination module configured to, after forwarding the request to the third device, in response to receiving a first predetermined signaling from the third device, determine that the third device will send first media information, the first predetermined signaling at least indicating a second media address and a second port associated with the third device. A first sending module configured to send, based on the first predetermined signaling, to the third device a first predetermined silent media information for allowing the second media address and the second port to remain open. A second sending module configured to send to the second device a second predetermined silent media signaling for allowing the first media address and the first port to remain open. And a call module configured to establish a call between the first media address and the first port and the second media address and the second port.
[0005] In a third aspect of the present disclosure, a device for communication is provided. The device includes: a signaling processing module configured to, in response to a request received by a first device from a second device that the second device wants to make a call with a third device, determine a first media address and a first port associated with the second device, and after forwarding the request to the third device, in response to receiving a first predetermined signaling from the third device, determine that the third device will send first media information, where the first predetermined signaling at least indicates a second media address and a second port associated with the third device. A media exchange module configured to send, based on the first predetermined signaling, a first predetermined silent media information to the third device for allowing the second media address and the second port to remain open, and send a second predetermined silent media information to the second device for allowing the first media address and the first port to remain open.
[0006] In a fourth aspect of the present disclosure, an electronic device is provided. The device includes at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit. The instructions, when executed by the at least one processing unit, cause the electronic device to execute the method of the first aspect.
[0007] In a fifth aspect of the present disclosure, a computer-readable storage medium is provided. A computer program is stored on the medium, and when the computer program is executed by a processor, the method of the first aspect is implemented.
[0008] In a sixth aspect of the present disclosure, a computer program product is provided. The product includes a computer program, where when the computer program is executed by a processor, the method according to the first aspect of the present disclosure is implemented.
[0009] It should be understood that the content described in this part is not intended to define the key features or important features of the embodiments of the present disclosure, nor is it used to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] In the following, in combination with the drawings and with reference to the following detailed description, the above and other features, advantages, and aspects of various implementation manners of the present disclosure will become more obvious. In the drawings, the same or similar reference numerals represent the same or similar elements, where:
[0011] Figure 1 A schematic diagram of an example environment in which the embodiments of the present disclosure can be implemented is shown;
[0012] Figure 2 A schematic diagram of the working principle of a stateful security component is shown;
[0013] Figure 3AA signaling diagram showing the SIP call establishment process according to some embodiments of the present disclosure;
[0014] Figure 3B Another signaling diagram showing the SIP call establishment process according to some embodiments of the present disclosure;
[0015] Figure 4 A flowchart of a method for communication according to some embodiments of the present disclosure;
[0016] Figure 5 A schematic structural block diagram showing a device for communication according to some embodiments of the present disclosure;
[0017] Figure 6 A schematic structural block diagram showing a device for communication according to certain embodiments of the present disclosure; and
[0018] Figure 7 A block diagram of a computing device in which one or more embodiments of the present disclosure may be implemented. Detailed Description of the Embodiments
[0019] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. On the contrary, these embodiments are provided to more thoroughly and completely understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not used to limit the protection scope of the present disclosure.
[0020] In the description of the embodiments of the present disclosure, the term "including" and its like should be understood as an open inclusion, that is, "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". There may also be other explicit and implicit definitions hereinafter.
[0021] It should be noted that in the technical solutions of the present disclosure, the acquisition, storage, and application of the user's personal information involved all comply with the provisions of relevant laws and regulations and do not violate public order and good customs.
[0022] It can be understood that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, usage scopes, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner according to relevant laws and regulations.
[0023] For example, when responding to an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested by the user will require obtaining and using the user's personal information, so that the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, an application, a server, or a storage medium that performs the operations of the present disclosure's technical solution according to the prompt message.
[0024] As an optional but non-limiting implementation manner, the manner of sending a prompt message to the user in response to receiving an active request from the user can be, for example, in the form of a pop-up window, and the prompt message can be presented in text in the pop-up window. In addition, the pop-up window can also carry selection controls for the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0025] It can be understood that the above notification and user authorization process is only illustrative and does not constitute a limitation on the embodiments of the present disclosure. Other methods that meet relevant laws and regulations can also be applied to the embodiments of the present disclosure.
[0026] Figure 1 A schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented is shown. As Figure 1 shown, the example environment 100 may include a first device 110, a second device 120, and a third device 130. The first device 110 is, for example, an intermediate device, the second device 120 is, for example, a call initiation device, and the third device 130 is, for example, a call answering device. The first device 110 can receive a request to make a call with the third device 130 from the second device 120 and forward the request to the third device 130. After receiving the request, the third device 130 can respond, thereby establishing a call through the first device 110.
[0027] The first device 110, the second device 120, and the third device 130 can include any computing system with computing capabilities, such as various computing devices / systems, terminal devices, server devices, etc. The terminal device can be any type of mobile terminal, fixed terminal, or portable terminal, including mobile phones, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, media computers, multimedia tablets, handheld computers, portable game terminals, VR / AR devices, Personal Communication System (PCS) devices, personal navigation devices, Personal Digital Assistant (PDA), audio / video players, digital cameras / cameras, positioning devices, television receivers, radio broadcast receivers, e-book devices, game devices, or any combination of the foregoing, including accessories and peripherals of these devices or any combination thereof.
[0028] The server device can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks, and big data and artificial intelligence platforms. The server device can, for example, include a computing system / server, such as a mainframe, an edge computing node, a computing device in a cloud environment, and so on.
[0029] It should be understood that the structures and functions of the various elements in environment 100 are described only for exemplary purposes, without implying any limitation on the scope of the present disclosure.
[0030] As mentioned above, a call center usually needs to connect to the SIP lines of many downstream suppliers (operators) and upstream customers. And during the process of connecting the lines, it is necessary to connect to all the media servers of the customers. For the security of the servers, the security components (such as firewalls) of all the media servers in the call center need to add the Internet protocol IP addresses and ports of all the customers' media servers to the whitelist in advance to allow these IP addresses and ports to send media information to the call center. And when there are changes in the media servers of the customers or suppliers, it is necessary to update them in a timely manner. Otherwise, there will be a situation of one-way silence or two-way silence in the calls via these media servers. This results in the following problems in the current SIP calls: First, whenever there is a change in the media server of a customer or a supplier, the operation or maintenance personnel of the call center need to update the security components (update the IP addresses and ports) in a timely manner, which lacks flexibility and is relatively complex. Second, since the security components need to be turned on in advance, when the business is not in progress, the security components of the call center are still in the open state (that is, the IP addresses and ports in the whitelist can send information to the media servers of the call center), which increases the risk coefficient of the business at this time. And since all the IP addresses and ports of the media servers need to be exposed in advance, there is a risk of being maliciously attacked by the network. Third, after connecting to a large number of media servers on the customer side and the supplier side, the security components of all the media servers in the call center need to add a large number of media IP addresses and ports to the whitelist in advance. When a network request reaches the media servers of the call center, it is necessary to retrieve the source request address, which will increase the server pressure. Fourth, currently, the security components of cloud servers generally have limitations on the number of IP addresses in the whitelist. This leads to waste of resources if the business volume of a certain customer or supplier connected is small.
[0031] In view of this, embodiments of the present disclosure provide an improved solution for communication. In this solution, in response to a first device receiving from a second device a request that the second device wants to make a call with a third device, a first media address and a first port associated with the second device are determined. After forwarding the request to the third device, in response to receiving a first predetermined signaling from the third device, it is determined that the third device will send first media information, and the first predetermined signaling at least indicates a second media address and a second port associated with the third device. Based on the first predetermined signaling, a first predetermined silent media message for allowing the second media address and the second port to remain open is sent to the third device. A second predetermined silent media message for allowing the first media address and the first port to remain open is sent to the second device. A call is established between the first media address and the first port and the second media address and the second port. Thus, in response to receiving the first predetermined signaling from the third device, by sending predetermined silent media messages to the third device and the second device, the third device and the second device are allowed to send media information to the first device, so that a call can be established between the second device and the third device. That is, only in response to receiving the predetermined signaling, it is necessary to send the predetermined silent media messages to the third device and the second device, and there is no need to add the media addresses and ports of the second device and the third device to the whitelist in advance. This reduces the server pressure, reduces waste, and since there is no need for operation and maintenance personnel to maintain the whitelist, the maintenance cost is reduced. And since the media addresses and ports of the second device and the third device are not added to the whitelist in advance, when the service is not in progress, the security component of the call center is in a closed state for the media addresses and ports of the second device and the third device, and the second device and the third device cannot send information to the first device. This improves the security of the service.
[0032] Some exemplary embodiments of the present disclosure will be further described below with reference to the accompanying drawings.
[0033] Figure 2 A schematic diagram showing the working principle of the stateful security component is shown.
[0034] Embodiments of the present disclosure are implemented based on a stateful security component, that is, a call center, for example Figure 1The media server in the first device in [ ] adopts a stateful security component. The stateful security component not only checks the information of each data packet but also tracks the state of each connection. A state table (also known as a connection table) is used to track the state information of each connection, such as the source and destination IP addresses, protocol type, source and destination port numbers, and the current state of the connection. Since the state of the connection is recorded, it will release the messages of established connections within a certain period of time. For example, when sending a network packet to the destination IP and destination port, the security component will record the source IP, source port, destination IP, and destination port. Within a short period of time (usually 30s to 1 minute) after sending the network packet, if the recorded destination IP and port send a response to the recorded source IP and source port, at this time, even if the security component does not open any ingress IP and ports, the response can still be released.
[0035] The working principle of a stateful security component (such as a firewall) is as Figure 2 shown. If the service inside the security component (with the address 192.168.5.1.5060, simply referred to as 5060) determines that the service outside the security component (with the address 106.34.56.194.5080, simply referred to as 5080) wants to send a data packet to the service inside the security component, it can actively send a segment of data packets to the service outside the security component. The source address src of this data packet is 5060, and the destination address is 5080. This data packet is stored in the state table after passing through the security component. Then the service outside the security component sends a segment of data packets to the service inside the security component. At this time, the src of this data packet is 5080, and the dst is 5060. After passing through the security component, the security component checks its own state table and finds that there is an interaction record of this pair of IP and ports and it has not expired (for example, it has not exceeded 30s). Therefore, the security component will release this data packet to reach the service inside the security component.
[0036] Figure 3A The signaling diagram of the SIP call establishment process 300A according to some embodiments of the present disclosure is shown. The first device 110 is an intermediate device, which is configured with Figure 2 the stateful security component as shown. The second device 120 is a call initiating device, and the third device 130 is a call answering device.
[0037] As Figure 3A shown, in step 301, the second device 120 sends a call request to the first device 110, such as the request (invite) signaling in the SIP protocol. The call number of the second device 120, the call number of the third device 130, the first media address and the first port of the media server of the second device 120, and the list of media formats supported by the media server of the second device 120 are carried in this call request.
[0038] In step 302, after receiving the call request, the first device 110 sends a response signaling to the second device 120, such as the 100 trying signaling in the SIP protocol, to inform the second device 120 through this response signaling that the first device 110 has received the call request sent by it. It should be understood that in some embodiments, step 302 can also be omitted.
[0039] In step 303, after receiving the call request, the first device 110 records the call number of the second device 120, the call number of the third device 130, the first media address and the first port of the media server of the second device 120, and the media format supported by the media server of the second device 120. Then the first device 110 selects and determines its own media server for this call and the corresponding third media address and third port. Then, the first device 110 generates a new call request according to the call number of the third device 130 and sends the new call request to the third device 130. The new call request carries the third media address and third port of the first device 110, and the list of media formats supported by the media server of the second device 120.
[0040] In step 304, after receiving the call request, the third device 130 sends a response signaling to the first device 110, such as the 100 trying signaling in the SIP protocol, to inform the first device 110 through this response signaling that the third device 130 has received the call request. It should be understood that in some embodiments, step 304 can also be omitted.
[0041] In step 305, after receiving the call request, the third device 130 will select and determine its own media server for this call and the corresponding second media address and second port, and select a media format it supports from the list of media formats supported by the media server of the second device 120 as the format of the ringing media information. In response to receiving the call request, the third device 130 triggers ringing and sends a ringing signaling to the first device 110, such as the 183 / 180 ring signaling. The ringing signaling carries the second media address and second port, and the media format selected by the third device 130.
[0042] In step 306, in response to receiving a ringing signaling from the third device 130, the first device 110 determines that the third device will send first media information (such as ringing media information) to the first device, and then the first device 110 sends first predetermined silent media information to the second media address and the second port of the third device 130. The first predetermined silent media information is used to allow the second media address and the second port to remain open. That is, by sending the first predetermined silent media information to the second media address and the second port of the third device 130, the security component of the first device 110 can release the media information received from the second media address and the second port within a predetermined time (that is, allow the media information from the second media address and the second port to enter the first device 110).
[0043] In step 307, the first device 110 forwards the ringing signaling to the second device 120.
[0044] In step 308, the first device 110 sends second predetermined silent media information to the first media address and the first port of the second device 120. The second predetermined silent media information is used to allow the first media address and the first port to remain open. That is, by sending the second predetermined silent media information to the first media address and the first port of the second device 120, the security component of the first device 110 can release the media information from the first media address and the first port within a predetermined time (that is, allow the media information from the first media address and the first port to enter the first device 110). The second predetermined silent media information and the first predetermined silent media information may be the same or different. Exemplarily, both the second predetermined silent media information and the first predetermined silent media information are audio information with the amplitude of the audio signal less than a predetermined threshold. For example, the second predetermined silent media information and the first predetermined silent media information are silent audio, that is, there is no valid audio signal in the middle of its audio content. For example, the amplitude of the sampling points of the audio signal is 0 or a minimum value, so that the users of the second device 120 and the third device 130 do not hear any sound. Exemplarily, the predetermined time is 30 seconds to 1 minute, such as 30 seconds, 45 seconds or 60 seconds.
[0045] In step 309, after receiving the first predetermined silent media information, the third device 130 sends ringing media information to the third media address and the third port of the first device 110 through the second media address and the second port, using the media format selected in step 305. Since the first device 110 sends the first predetermined silent media information to the third device 130 in step 306, as long as the third device 130 sends ringing media information to the first device 110 within a predetermined time, the ringing media information can be released by the security component of the first device 100.
[0046] In step 310, after receiving the ringing media information sent by the third device 130, the first device 110 forwards the ringing media information to the first media address and the first port of the second device 120 through the third media address and the third port.
[0047] In step 311, after the handset of the third device 130 is picked up, the third device 130 sends a pick-up signaling to the first device 110, such as a 200 answer or 200 OK signaling.
[0048] In step 312, after receiving the pick-up signaling sent by the third device 130, the first device 110 forwards the pick-up signaling to the second device 120.
[0049] In step 313, after receiving the pick-up signaling sent by the first device 110, the second device 120 sends an acknowledgment signaling to the first device, such as an ACK signaling, to inform the first device 110 that it has received the pick-up signaling.
[0050] In step 314, after receiving the acknowledgment signaling sent by the second device 120, the first device 110 sends second predetermined silent media information to the first media address and the first port of the second device 120 through the third media address and the third port, to allow the second device 120 to send media information to the first device 110 through the first media address and the first port within a predetermined time.
[0051] In step 315, after receiving the acknowledgment signaling sent by the second device 120, the first device 110 forwards it to the third device 130, to inform the third device 130 that the first device 110 or the second device 120 has received the pick-up signaling.
[0052] In step 316, after sending the acknowledgment signaling to the third device 130, the first device 110 determines that the third device will send second media information (such as call media information) to the first device, and then the first device 110 sends first predetermined silent media information to the second media address and the second port of the third device 130.
[0053] In steps 317 and 318, the first device 110 forwards the call media information from the second device 120 to the third device 130, and forwards the call media information from the third device 130 to the second device 120, thereby establishing a call between the second device 120 and the third device 130. Since in steps 308 and 314, the first device 110 sends the second predetermined silent media information to the second device 120, the call media information from the second device 120 can be released by the security component of the first device 110. Similarly, since in step 316, the first device 110 sends the first predetermined silent media information to the third device 130, the call media information from the third device 130 can be released by the security component of the first device 110.
[0054] It should be understood that Figure 3A the signaling shown is only an example of an embodiment of the present disclosure, which does not constitute a limitation to the present disclosure. In Figure 3A each of the signaling shown can adjust its sending position as needed, as long as it is based on Figure 2 the principle shown allows the media information of the second device 120 and the third device 130 to be released by the first device 110 during the establishment process or call.
[0055] Figure 3B Another signaling diagram of the SIP call establishment process 300B according to some embodiments of the present disclosure is shown. In Figure 3B it, step 316 is executed after step 311, rather than after step 315. Step 314 is after step 312, rather than after step 313.
[0056] In Figure 3A or Figure 3B the call establishment process, the first device 110 sends the small segment media trigger security component to open twice to both parties of the call (i.e., the second device 12 and the third device 130), so as to ensure the release of a single media information. After the two-party call is established, since it is necessary to continuously forward the call media information of the second device 120 to the third device 130 and forward the call media information of the third device 130 to the second device 120, the security component of the first device 100 can always be in a state of keeping the second device 120 and the third device 130 connected. In Figure 3A or Figure 3B the call establishment process, before the call is established, before each time it is determined that media information will be received, silent media information is actively sent to open the security component to receive media information. After the establishment, since there is continuous media information, the security component will remain open continuously. After the call ends, the security component will automatically close after a certain period of time. That is Figure 3A and Figure 3BThe call establishment process shown reaches a safe state where it can be used immediately when needed and not used when not needed. At the same time, it does not affect the interaction process of the conventional standard SIP protocol and is compatible with conventional SIP communication solutions on the market.
[0057] Figure 4 Flowchart of a process 400 for communication according to some embodiments of the present disclosure. The process 400 for communication according to an embodiment of the present disclosure is executed at a first device 110 in Figure 1 、 Figure 3A or Figure 3B . As Figure 4 shown, the process 400 includes:
[0058] At block 410, in response to the first device receiving from the second device a request that the second device wants to make a call with a third device, determine a first media address and a first port associated with the second device.
[0059] At block 420, after forwarding the request to the third device, in response to receiving a first predetermined signaling from the third device, determine that the third device will send first media information, where the first predetermined signaling at least indicates a second media address and a second port associated with the third device.
[0060] At block 430, based on the first predetermined signaling, send a first predetermined silent media message to the third device to allow the second media address and the second port to remain open.
[0061] At block 440, send a second predetermined silent media message to the second device to allow the first media address and the first port to remain open.
[0062] At block 450, establish a call between the first media address and the first port and the second media address and the second port.
[0063] In some embodiments of the present disclosure, the process 400 further includes: further includes: in response to receiving a second predetermined signaling from the third device, determine that the third device will send second media information. Based on the second predetermined signaling, send a first predetermined silent media message to the third device. And after forwarding the second predetermined signaling to the second device, send a second predetermined silent media message to the second device.
[0064] In some embodiments of the present disclosure, the process 400 further includes: further includes: in response to receiving a third predetermined signaling from the second device, determine that the second device will send third media information. Based on the third predetermined signaling, send a second predetermined silent media message to the second device. And after forwarding the third predetermined signaling to the third device, send a first predetermined silent media message to the third device.
[0065] In some embodiments of the present disclosure, the first predetermined signaling includes ringing signaling, and the second predetermined signaling includes off-hook signaling.
[0066] In some embodiments of the present disclosure, the third predetermined signaling includes an acknowledgement ACK signaling.
[0067] In some embodiments of the present disclosure, the first media information includes ringing media information, and the second media information includes call media information.
[0068] In some embodiments of the present disclosure, the first device is an intermediate device, the second device is a call initiating device, and the third device is a call answering device.
[0069] In some embodiments of the present disclosure, the first silent media information and the second predetermined silent media information are audio information with the amplitude of the audio signal less than a predetermined threshold.
[0070] The method for communication according to the embodiments of the present disclosure has the following beneficial effects:
[0071] First, it improves the security of the call center platform and greatly reduces the risk of being attacked by the network. Since there is no need to perform any whitelisting operations on the security components of the media server in advance, and even when the upstream and downstream media servers change, there is still no need to whitelist, the media server firewall of the call center platform remains in a completely denied state for a long time, and there is no need to whitelist any upstream and downstream media servers. This eliminates the risks caused by the exposure of the media server IP and ports to the outside, and since the security components are in a closed state for a long time. Therefore, the security of the call center platform is greatly improved.
[0072] Second, it reduces the operation and maintenance costs of the call center platform. When the IP of the customer or supplier media server changes, there is no need to perform whitelisting operations on the security components of the media server of the call center platform, thus avoiding the waste of cloud hosts due to the IP quantity limit of the security component whitelisting.
[0073] Third, it improves the SIP call connection efficiency. This method can be compatible with the existing sip standard protocol, and since there is no need to perform additional security component whitelisting operations on the upstream and downstream media servers during the connection while ensuring security, there is no need to retrieve the source address and destination address during the connection, thus improving the connection efficiency.
[0074] Figure 5 FIG. shows a schematic structural block diagram of a communication device 500 according to certain embodiments of the present disclosure.
[0075] As Figure 5As shown, the apparatus 500 includes a first determination module 510 configured to determine a first media address and a first port associated with the second device in response to a request received by the first device from the second device that the second device wants to make a call with the third device. A second determination module 520 configured to determine that the third device will send first media information in response to receiving a first predetermined signaling from the third device after forwarding the request to the third device, the first predetermined signaling at least indicating a second media address and a second port associated with the third device. A first sending module 530 configured to send a first predetermined silent media message to the third device based on the first predetermined signaling to allow the second media address and the second port to remain open. A second sending module 540 configured to send a second predetermined silent media message to the second device to allow the first media address and the first port to remain open. And a call module 550 configured to establish a call between the first media address and the first port and the second media address and the second port.
[0076] In some embodiments of the present disclosure, the second determination module 520 is further configured to determine that the third device will send second media information in response to receiving a second predetermined signaling from the third device. The first sending module 530 is further configured to send a first predetermined silent media message to the third device based on the second predetermined signaling. And the second sending module 540 is further configured to send a second predetermined silent media message to the second device after forwarding the second predetermined signaling to the second device.
[0077] In some embodiments of the present disclosure, the first determination module 510 is further configured to determine that the second device will send third media information in response to receiving a third predetermined signaling from the second device. The second sending module 540 is further configured to send a second predetermined silent media message to the second device based on the third predetermined signaling. And the first sending module 530 is further configured to send a first predetermined silent media message to the third device after forwarding the third predetermined signaling to the third device.
[0078] In some embodiments of the present disclosure, the first predetermined signaling includes a ringing signaling, and the second predetermined signaling includes an off-hook signaling.
[0079] In some embodiments of the present disclosure, the third predetermined signaling includes an acknowledgement ACK signaling.
[0080] In some embodiments of the present disclosure, the first media information includes ringing media information, and the second media information includes call media information.
[0081] In some embodiments of the present disclosure, the first device is an intermediate device, the second device is a call initiating device, and the third device is a call answering device.
[0082] In some embodiments of the present disclosure, the first silent media information and the second predetermined silent media information are audio information with the amplitude of the audio signal being less than a predetermined threshold.
[0083] The units and / or modules included in device 500 can be implemented in various ways, including software, hardware, firmware, or any combination thereof. In some embodiments, one or more units and / or modules can be implemented using software and / or firmware, such as machine-executable instructions stored on a storage medium. In addition to or as an alternative to the machine-executable instructions, some or all of the units and / or modules in device 500 can be implemented at least partially by one or more hardware logic components. By way of example and not limitation, exemplary types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system on chips (SOCs), complex programmable logic devices (CPLDs), and so on.
[0084] It should be understood that one or more steps in the above methods can be performed by a suitable electronic device or a combination of electronic devices. Such an electronic device or a combination of electronic devices can include, for example, Figure 1 the first device 110 in
[0085] Figure 6 FIG. 12 shows a schematic structural block diagram of a device 500 for communication according to certain embodiments of the present disclosure.
[0086] As Figure 6 shown, device 600 includes a core device 610, a storage device 620, a security component 630, and an internal other service module 640. The core device 610 includes a computing unit 611, a signaling processing module 612, a media exchange module 613, and a network module 614.
[0087] The computing unit 611 can be, for example, a central processing unit CPU or a microprocessor, or other processing units with logical operations.
[0088] The signaling processing module 612 processes communication signaling based on the computing unit 611 and the network module 614. The signaling processing module 612 receives communication messages sent by the network module 614, such as SIP signaling, and performs calculations in the computing unit 611. When the calculations are completed, the signaling processing module 612 assembles new messages and sends them to the internal other service module 640 or external services through the network module 614.
[0089] The media exchange module 613 processes media information based on the computing unit 611 and the network module 614. The media exchange module 613 receives the media messages sent by the network module 614 and performs calculations in the computing unit. After the calculations are completed, the media exchange module 613 assembles new media messages and sends them to other internal service modules 640 or external services through the network module 614.
[0090] The network module 614 is, for example, a network adapter or a network interface card, and can also be other devices with network processing functions. Through the network module 614, signaling or information from the outside can be received, and signaling or information can be sent to the outside.
[0091] The storage device 620 can be various devices with storage capabilities, such as storage devices like RAM or ROM. The storage device 620 can store data such as sip signaling, media information, media addresses, ports, etc. in the interaction.
[0092] The security component 630 adopts Figure 2 the security component shown.
[0093] The other service module 640 is used to provide other services.
[0094] In some embodiments of the present disclosure, the signaling processing module 612 is configured to, in response to a request received by a first device (such as the core device 610) from a second device that the second device wants to make a call with a third device, determine a first media address and a first port associated with the second device, and after forwarding the request to the third device, in response to receiving a first predetermined signaling from the third device, determine that the third device will send first media information, where the first predetermined signaling at least indicates a second media address and a second port associated with the third device. The media exchange module 613 is configured to send a first predetermined silent media information for allowing the second media address and the second port to remain open to the third device based on the first predetermined signaling, and send a second predetermined silent media information for allowing the first media address and the first port to remain open to the second device.
[0095] In some embodiments of the present disclosure, the signaling processing module 612 is further configured to, in response to receiving a second predetermined signaling from the third device, determine that the third device will send second media information. The media exchange module 613 is further configured to send a first predetermined silent media information to the third device based on the second predetermined signaling, and send a second predetermined silent media information to the second device after the signaling processing module 612 forwards the second predetermined signaling to the second device.
[0096] In some embodiments of the present disclosure, the signaling processing module 612 is further configured to determine that the second device will send the third media information in response to receiving a third predetermined signaling from the second device. The media exchange module 613 is further configured to send second predetermined silent media information to the second device based on the third predetermined signaling, and after forwarding the third predetermined signaling to the third device, the signaling processing module 612 sends first predetermined silent media information to the third device.
[0097] In some embodiments of the present disclosure, the first predetermined signaling includes a ringing signaling, and the second predetermined signaling includes an off-hook signaling.
[0098] In some embodiments of the present disclosure, the third predetermined signaling includes an acknowledgement ACK signaling.
[0099] In some embodiments of the present disclosure, the first media information includes ringing media information, and the second media information includes call media information.
[0100] In some embodiments of the present disclosure, the first device is an intermediate device, the second device is a call initiating device, and the third device is a call answering device.
[0101] In some embodiments of the present disclosure, the first silent media information and the second predetermined silent media information are audio information with the amplitude of the audio signal being less than a predetermined threshold.
[0102] The units and / or modules included in the apparatus 600 can be implemented in various ways, including software, hardware, firmware, or any combination thereof. In some embodiments, one or more units and / or modules can be implemented using software and / or firmware, such as machine-executable instructions stored on a storage medium. In addition to or as an alternative to the machine-executable instructions, some or all of the units and / or modules in the apparatus 600 can be implemented at least partially by one or more hardware logic components. By way of example and not limitation, exemplary types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip (SOCs), complex programmable logic devices (CPLDs), and the like.
[0103] It should be understood that one or more steps in the above methods can be performed by an appropriate electronic device or a combination of electronic devices. Such an electronic device or a combination of electronic devices can include, for example, Figure 1 the first device 110 in
[0104] Figure 7 A block diagram of an electronic device 700 in which one or more embodiments of the present disclosure can be implemented is shown. It should be understood that Figure 7The illustrated electronic device 700 is merely exemplary and should not impose any limitation on the functionality and scope of the embodiments described herein. Figure 7 The illustrated electronic device 700 can be used to implement Figure 1 the first device 110 or Figure 5 the apparatus 500 or Figure 6 the apparatus 600.
[0105] As Figure 7 illustrated, the electronic device 700 is in the form of a general-purpose electronic device. The components of the electronic device 700 may include, but are not limited to, one or more processors or processing units 710, a memory 720, a storage device 730, one or more communication units 740, one or more input devices 750, and one or more output devices 760. The processing unit 710 can be an actual or virtual processor and is capable of performing various processes according to the programs stored in the memory 720. In a multi-processor system, multiple processing units execute computer-executable instructions in parallel to enhance the parallel processing ability of the electronic device 700.
[0106] The electronic device 700 generally includes multiple computer storage media. Such media can be any accessible media available to the electronic device 700, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 720 can be a volatile memory (e.g., registers, caches, random access memory (RAM)), a non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. The storage device 730 can be a removable or non-removable medium and can include machine-readable media, such as a flash drive, a magnetic disk, or any other medium that can be used to store information and / or data and can be accessed within the electronic device 700.
[0107] The electronic device 700 can further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in Figure 7 it, a disk drive for reading from or writing to a removable, non-volatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, non-volatile optical disk can be provided. In these cases, each drive can be connected to a bus (not shown) by one or more data media interfaces. The memory 720 can include a computer program product 725 having one or more program modules that are configured to execute the various methods or actions of the various embodiments of the present disclosure.
[0108] The communication unit 740 enables communication with other electronic devices via a communication medium. Additionally, the functions of the components of the electronic device 700 may be implemented by a single computing cluster or multiple computing machines that are capable of communicating via a communication link. Thus, the electronic device 700 may operate in a networked environment using a logical connection to one or more other servers, network personal computers (PCs), or another network node.
[0109] The input device 750 may be one or more input devices such as a mouse, keyboard, trackball, etc. The output device 760 may be one or more output devices such as a display, speaker, printer, etc. The electronic device 700 may also communicate with one or more external devices (not shown) as needed via the communication unit 740, the external devices such as storage devices, display devices, etc., communicate with one or more devices that enable a user to interact with the electronic device 700, or communicate with any device that enables the electronic device 700 to communicate with one or more other electronic devices (e.g., network card, modem, etc.). Such communication may be performed via an input / output (I / O) interface (not shown).
[0110] According to an exemplary implementation of the present disclosure, a computer-readable storage medium is provided, on which computer-executable instructions are stored, wherein the computer-executable instructions are executed by a processor to implement the method described above. According to an exemplary implementation of the present disclosure, a computer program product is also provided, the computer program product being tangibly stored on a non-transitory computer-readable medium and including computer-executable instructions, and the computer-executable instructions being executed by a processor to implement the method described above.
[0111] Aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of methods, apparatuses, devices, and computer program products according to the present disclosure. It should be understood that each block of the flowcharts and / or block diagrams, and the combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.
[0112] These computer-readable program instructions may be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus, thereby producing a machine such that the instructions, when executed by the processing unit of the computer or other programmable data processing apparatus, create a means for implementing the functions / acts specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium, which instructions cause a computer, a programmable data processing apparatus, and / or other devices to operate in a particular manner, so that the computer-readable medium storing the instructions includes a manufacture, which includes instructions for implementing the various aspects of the functions / acts specified in one or more blocks of the flowchart and / or block diagram.
[0113] Computer-readable program instructions may be loaded onto a computer, other programmable data processing apparatus, or other devices, causing a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other devices to generate a computer-implemented process, so that the instructions executed on the computer, other programmable data processing apparatus, or other devices implement the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0114] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various implementations of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a portion of an instruction, which contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions noted in the blocks may occur in a different order than noted in the figures. For example, two consecutive blocks may in fact be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block of the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified function or action, or by a combination of dedicated hardware and computer instructions.
[0115] The various implementations of the present disclosure have been described above. The above description is exemplary, not exhaustive, and is not limited to the disclosed implementations. Many modifications and variations will be apparent to those of ordinary skill in the art in the field without departing from the scope and spirit of the described implementations. The choice of terms used herein is intended to best explain the principles of the implementations, the practical application, or the improvement of the technology in the market, or to enable other ordinary skill in the art in the field to understand the various implementations disclosed herein.
Claims
1. A method for communication, comprising: Determining a first media address and a first port associated with the second device in response to the first device receiving from the second device a request for the second device to make a call with a third device; After forwarding the request to the third device, determining that the third device will send first media information in response to receiving a first predetermined signaling from the third device, the first predetermined signaling at least indicating a second media address and a second port associated with the third device; Sending to the third device a first predetermined silent media message for allowing the second media address and the second port to remain open based on the first predetermined signaling; Sending to the second device a second predetermined silent media message for allowing the first media address and the first port to remain open; And Establishing a call between the first media address and the first port and the second media address and the second port.
2. The method according to claim 1, further comprising: Determining that the third device will send second media information in response to receiving a second predetermined signaling from the third device; Sending the first predetermined silent media message to the third device based on the second predetermined signaling; And After forwarding the second predetermined signaling to the second device, sending the second predetermined silent media message to the second device.
3. The method according to claim 1, further comprising: Determining that the second device will send third media information in response to receiving a third predetermined signaling from the second device; Sending the second predetermined silent media message to the second device based on the third predetermined signaling; And After forwarding the third predetermined signaling to the third device, sending the first predetermined silent media message to the third device.
4. The method according to claim 2, wherein the first predetermined signaling includes a ringing signaling, and the second predetermined signaling includes an off-hook signaling.
5. The method according to claim 3, wherein the third predetermined signaling includes an acknowledgement ACK signaling.
6. The method according to claim 2, wherein the first media information includes ringing media information, and the second media information includes call media information.
7. The method according to claim 1, wherein the first device is an intermediate device, the second device is a call initiating device, and the third device is a call answering device.
8. The method according to any one of claims 1-7, wherein the first silent media message and the second predetermined silent media message are audio information with an amplitude of an audio signal less than a predetermined threshold.
9. A device for communication, comprising: A first determining module configured to determine a first media address and a first port associated with the second device in response to the first device receiving from the second device a request for the second device to make a call with a third device; A second determination module, configured to, after forwarding the request to the third device, in response to receiving a first predetermined signaling from the third device, determine that the third device will send first media information, the first predetermined signaling at least indicating a second media address and a second port associated with the third device; A first sending module, configured to send, based on the first predetermined signaling, a first predetermined silent media message to the third device for allowing the second media address and the second port to remain open; A second sending module, configured to send a second predetermined silent media message to the second device for allowing the first media address and the first port to remain open; And A call module, configured to establish a call between the first media address and the first port and the second media address and the second port.
10. A device for communication, comprising: A signaling processing module, configured to, in response to a request received by a first device from a second device that the second device wants to make a call with a third device, determine a first media address and a first port associated with the second device, and, after forwarding the request to the third device, in response to receiving a first predetermined signaling from the third device, determine that the third device will send first media information, the first predetermined signaling at least indicating a second media address and a second port associated with the third device; And A media exchange module, configured to send, based on the first predetermined signaling, a first predetermined silent media message to the third device for allowing the second media address and the second port to remain open, and send a second predetermined silent media message to the second device for allowing the first media address and the first port to remain open.
11. An electronic device, comprising: At least one processing unit; And At least one memory, the at least one memory being coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the electronic device to perform the method according to any one of claims 1 to 8.
12. A computer-readable storage medium, having stored thereon a computer program, the computer program being executable by a processor to implement the method according to any one of claims 1 to 8.
13. A computer program product, the computer program product being tangibly stored in a computer storage medium and including computer-executable instructions, the computer-executable instructions, when executed by a device, causing the device to perform the method according to any one of claims 1 to 8.