Call transmission method and device, storage medium and electronic equipment
By receiving and processing call invitation signaling from IP-based voice transmission clients, establishing call connections, and using a codec protocol that supports satellite networks to process audio and video data, the interconnection problem of VoIP in the scenario without ground base station signal coverage is solved. Efficient bandwidth usage is achieved.
Patent Information
- Application Number
- CN202311708168.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-12
- Publication Date
- 2025-02-11
AI Technical Summary
VoIP cannot be interconnected with the operator telephone or landline telephone of the public network in special scenarios such as oceans and deserts without ground base station signal coverage, and the audio codec protocol of existing VoIP telephones is not suitable for satellite networks, resulting in high bandwidth usage.
By receiving the call invitation signaling sent by the IP-based voice transmission client through the satellite network, a call call is initiated to the second client according to the target number, a call connection is established, and the audio and video data is compiled based on the codec protocol supporting the satellite network. Decoding processing, automatically select the appropriate media processing method.
In the scenario without ground base station signal coverage, the interconnection between VoIP clients and the public network is realized, reducing bandwidth usage under the satellite network, and using satellite bandwidth reasonably according to different scenarios.
Smart Images

Figure CN119420735A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of communication technology, and in particular to a call transmission method, a call transmission device, an electronic device, and a computer-readable storage medium. Background Art
[0002] VoIP (Voice over Internet Protocol) is an Internet-based voice communication technology that can digitize analog sound signals and transmit them in real time in the form of data packets over the IP data network, thereby achieving the purpose of transmitting voice over the Internet.
[0003] In the existing technology, VoIP can only access ground operators in areas covered by the Internet. In special scenarios where there is no ground base station signal coverage, such as oceans and deserts, it is impossible to interconnect with public network operator telephones or fixed-line phones. Summary of the invention
[0004] The purpose of the embodiments of the present disclosure is to provide a call transmission method, a call transmission device, an electronic device and a computer-readable storage medium, thereby solving to a certain extent the problem in the related art that VoIP cannot be interconnected with public network operator telephones or landlines in special scenarios such as oceans and deserts where there is no ground base station signal coverage.
[0005] According to a first aspect of the present disclosure, a call transmission method is provided, including: receiving a call invitation signaling sent by a first client via a satellite network, the first client being an IP-based voice transmission client, the call invitation signaling including a target number and a codec protocol, the codec protocol supporting the satellite network; initiating a call to a second client according to the target number, and establishing a call connection between the first client and the second client; encoding and decoding audio and video data during the call based on the codec protocol, and selecting a corresponding media processing method based on the call invitation signaling to achieve call transmission between the first client and the second client.
[0006] In an exemplary embodiment of the present disclosure, after receiving the call invitation signaling sent by the first client via the satellite network, the method further includes: authenticating the first client based on the call invitation signaling; if the verification is successful, saving the client information of the first client in the call invitation signaling, the client information including the client IP and registration number; if the verification fails, returning a status code of identity authentication failure to the first client.
[0007] In an exemplary embodiment of the present disclosure, initiating a call to the second client based on the target number includes: determining whether the type of the target number is an internal number or an external number, the internal number being the number of the IP-based voice transmission client, and the external number being the number corresponding to the ground operator; initiating a call to the second client based on the type of the target number.
[0008] In an exemplary embodiment of the present disclosure, initiating a call to the second client based on the type of the target number includes: when it is determined that the type of the target number is the external number, matching the route corresponding to the target number according to the routing table, sending the call invitation signaling to the core network, and sending it to the second client via the core network and the ground operator.
[0009] In an exemplary embodiment of the present disclosure, initiating a call to a second client based on the type of the target number includes: when it is determined that the type of the target number is the internal number, matching the route corresponding to the target number according to a routing table, and sending the call invitation signaling directly to the second client, wherein the second client corresponding to the internal number is the IP-based voice transmission client.
[0010] In an exemplary embodiment of the present disclosure, the selecting a corresponding media processing method based on the call invitation signaling includes: if the call invitation signaling specifies the media processing method, performing media processing on the audio and video data according to the specified media processing method; if the call invitation signaling does not specify the media processing method, selecting the media processing method according to the type of the target number in the call invitation signaling.
[0011] In an exemplary embodiment of the present disclosure, the media processing method is selected according to the type of the target number in the call invitation signaling, including: if the target number is the internal number, selecting media bypass; if the target number is the external number, determining whether transcoding is supported; if transcoding is supported, performing media synthesis processing on the audio and video data; if transcoding is not supported, sending the audio and video data to the corresponding client for media synthesis processing using media transparent transmission.
[0012] In an exemplary embodiment of the present disclosure, the media synthesis processing includes: linearly adding each channel of voice in the audio and video data, and then dividing by the number of channels to obtain the synthesized audio and video data.
[0013] According to a second aspect of the present disclosure, a call transmission device is provided, comprising: an access module, the access module comprising a user authentication unit and a session management unit, wherein the session management unit is used to receive a call invitation signaling sent by a first client via a satellite network and implement session management, the user authentication unit is used to authenticate the first client according to the call invitation signaling, wherein the first client is an IP-based voice transmission client, the call invitation signaling comprises a target number and a codec protocol, and the codec protocol supports the satellite network; a data processing module, the data processing module comprising a call management unit, a media stream unit and a basic unit, wherein the call management unit is used to initiate a call to a second client according to the target number and establish a call connection between the first client and the second client, the media stream unit is used to encode and decode audio and video data during a call based on the codec protocol, and select a corresponding media processing method based on the call invitation signaling, and the basic unit comprises a database, a log, a timer and a command interface, wherein the database is used for data storage, the log is used for log management, the timer is used for timing operation, and the command interface is used for providing an interface for upper layer services.
[0014] In an exemplary embodiment of the present disclosure, the call management unit is specifically used to: determine whether the type of the target number is an internal number or an external number, the internal number is the number of the IP-based voice transmission client, and the external number is the number corresponding to the ground operator; and initiate a call to the second client based on the type of the target number.
[0015] In an exemplary embodiment of the present disclosure, initiating a call to the second client based on the type of the target number includes: when it is determined that the type of the target number is the external number, matching the route corresponding to the target number according to the routing table, sending the call invitation signaling to the core network, and sending it to the second client via the core network and the ground operator.
[0016] In an exemplary embodiment of the present disclosure, initiating a call to a second client based on the type of the target number includes: when it is determined that the type of the target number is the internal number, matching the route corresponding to the target number according to a routing table, and sending the call invitation signaling directly to the second client, wherein the second client corresponding to the internal number is the IP-based voice transmission client.
[0017] In an exemplary embodiment of the present disclosure, the media stream unit is specifically used to: if the call invitation signaling specifies the media processing method, then perform media processing on the audio and video data according to the specified media processing method; if the call invitation signaling does not specify the media processing method, then select the media processing method according to the type of the target number in the call invitation signaling.
[0018] In an exemplary embodiment of the present disclosure, the media processing method is selected according to the type of the target number in the call invitation signaling, including: if the target number is the internal number, selecting media bypass; if the target number is the external number, determining whether transcoding is supported; if transcoding is supported, performing media synthesis processing on the audio and video data; if transcoding is not supported, sending the audio and video data to the corresponding client for media synthesis processing using media transparent transmission.
[0019] According to a third aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute any one of the above-mentioned methods by executing the executable instructions.
[0020] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, any one of the methods described above is implemented.
[0021] The exemplary embodiments of the present disclosure may have some or all of the following beneficial effects:
[0022] In the call transmission method provided in the exemplary implementation of the present disclosure, a call invitation signaling sent by a first client via a satellite network is received, the first client is an IP-based voice transmission client, and the call invitation signaling includes a target number and a codec protocol, and the codec protocol supports the satellite network; a call is initiated to a second client according to the target number, and a call connection between the first client and the second client is established; the audio and video data in the call process are encoded and decoded based on the codec protocol, and the corresponding media processing method is selected based on the call invitation signaling to realize the call transmission between the first client and the second client. In the call transmission method provided in the embodiment of the present disclosure, the first client sends the call request signaling to the server via the satellite network, and by accessing the satellite network, it can also establish interconnection with the second client in the case of no ground signal coverage in the ocean, desert, etc. At the same time, the present disclosure adopts a codec protocol that supports satellite networks to encode and decode the audio and video data in the call process, which can effectively reduce the bandwidth occupation. In addition, the present disclosure automatically selects a suitable media processing method according to different usage scenarios based on the call invitation signaling, and can use the satellite bandwidth more reasonably.
[0023] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] The accompanying drawings herein are incorporated into the specification and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification are used to explain the principles of the present disclosure. Obviously, the accompanying drawings described below are only some embodiments of the present disclosure, and for ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without creative work.
[0025] Figure 1 The flowchart of the call transmission method according to an embodiment of the present disclosure is schematically shown;
[0026] Figure 2 The following schematically shows a flow chart of adaptive media processing in a call transmission method according to a specific embodiment of the present disclosure;
[0027] Figure 3 A block diagram of a call transmission device according to an embodiment of the present disclosure is schematically shown;
[0028] Figure 4 A technical architecture diagram of a call transmission method according to a specific embodiment of the present disclosure is schematically shown;
[0029] Figure 5 A block diagram of a call transmission device according to an embodiment of the present disclosure is schematically shown;
[0030] Figure 6 A schematic diagram of an electronic device according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION
[0031] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as being limited to the examples set forth herein; on the contrary, these embodiments are provided so that the present disclosure will be more comprehensive and complete, and the concepts of the example embodiments are fully conveyed to those skilled in the art. The described features, structures, or characteristics may be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced while omitting one or more of the specific details, or other methods, components, devices, steps, etc. may be adopted. In other cases, known technical solutions are not shown or described in detail to avoid obscuring various aspects of the present disclosure.
[0032] In addition, the accompanying drawings are only schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the figures represent the same or similar parts, and their repeated description will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software form, or implemented in one or more hardware modules or integrated circuits, or implemented in different networks and / or processor devices and / or microcontroller devices.
[0033] VoIP (Voice over Internet Protocol) is an Internet-based voice communication technology that can digitize analog sound signals and transmit them in real time in the form of data packets over the IP data network, thereby achieving the purpose of transmitting voice over the Internet.
[0034] In the prior art, VoIP has the following problems: (1) No access to satellite network: It can only access ground operators in areas covered by the Internet. In special scenarios such as oceans and deserts where there is no ground base station signal coverage, it is impossible to interconnect with public network operator telephones or fixed-line telephones; (2) The audio codec protocol is not suitable: Since current VoIP phones use ground networks, network bandwidth is not a bottleneck, and the quality of calls is pursued. The bandwidth occupied by audio codec is not considered, which is not suitable for VoIP communications under satellite networks; (3) It cannot adaptively select the media processing method according to the scene: The media processing method of traditional VoIP calls is relatively simple and cannot be automatically selected according to the scene.
[0035] In order to solve the problems existing in the above method, this exemplary embodiment proposes a call transmission method, a call transmission device, an electronic device and a computer-readable storage medium. The technical solution of the embodiment of the present disclosure is described in detail below:
[0036] This example implementation first provides a call transmission method. Figure 1 As shown, the call transmission method specifically includes the following steps:
[0037] Step S110: receiving a call invitation signaling sent by a first client via a satellite network, wherein the first client is an IP-based voice transmission client, and the call invitation signaling includes a target number and a codec protocol, and the codec protocol supports the satellite network;
[0038] Step S120: Initiate a call to the second client according to the target number, and establish a call connection between the first client and the second client;
[0039] Step S130: Encode and decode the audio and video data during the call based on the codec protocol, and select a corresponding media processing method based on the call invitation signaling to achieve call transmission between the first client and the second client.
[0040] In the call transmission method provided in the exemplary implementation of the present disclosure, the first client sends the call request signaling to the server via the satellite network. By accessing the satellite network, interconnection with the second client can also be established in the case where there is no ground signal coverage in the ocean, desert, etc. At the same time, the present disclosure uses the codec protocol that supports the satellite network to encode and decode the audio and video data during the call, which can effectively reduce the bandwidth occupation. In addition, based on the call invitation signaling, the present disclosure automatically selects the appropriate media processing method according to different usage scenarios, which can use the satellite bandwidth more reasonably.
[0041] Next, in another embodiment, the above steps are described in more detail.
[0042] In step S110, a call invitation signaling is received from a first client via a satellite network. The first client is an IP-based voice transmission client. The call invitation signaling includes a target number and a codec protocol. The codec protocol supports the satellite network.
[0043] The call transmission method proposed in the embodiment of the present disclosure applies the satellite network to VoIP communication, which can solve the problem that the VoIP client in the private network cannot be interconnected with the operator telephone or fixed telephone in the public network in special scenarios such as oceans and deserts without ground base station signal coverage. Among them, the above-mentioned first client is a VoIP (Voice over Internet Protocol, voice transmission based on IP) client. In this step, the first client sends the call invitation signaling to the satellite network, and the satellite network forwards it to the server.
[0044] In the disclosed embodiments, the satellite network refers to a network that uses the ability of satellite transponders to relay signals to complete data transmission between its various nodes. Exemplarily, the satellite network can be a broadband Ka satellite network. Among them, the Ka-band broadband satellite is a new type of communication satellite that uses the Ka-band. In view of the characteristics of the Ka-band with wide available bandwidth, less interference, and small equipment size, the Ka-band broadband satellite communication system can provide a new means for new services such as high-speed satellite communications, gigabit-class broadband digital transmission, high-definition television (HDTV), satellite news gathering (SNG), VSAT services, direct-to-home (DTH) services, and personal satellite communications, and has great advantages in providing two-way multimedia services.
[0045] The call invitation signaling is the INVITE signaling in the SIP signaling. The caller can initiate a session request through the INVITE signaling to invite other users to join a session. The SIP (Session initialization Protocol) is a signaling protocol developed by the IETF (Internet Engineering Task Force) for initiating, controlling, and terminating multimedia sessions. It runs independently under the communication protocol and does not depend on the type of session established. Since SIP draws on the Internet protocol and adopts a text-based protocol, it is more flexible and has strong scalability. In order to process media streams more flexibly, the embodiment of the present disclosure chooses to implement multimedia sessions based on SIP.
[0046] The above INVITE signaling includes a message header and a data area. The INVITE message header contains the calling and called numbers and addresses, call subject and call priority information, and the INVITE data area contains information about the session media, which can be implemented by the session description protocol SDP. The above target number is the called number in the INVITE signaling.
[0047] In step S120, a call is initiated to the second client according to the target number, and a call connection is established between the first client and the second client.
[0048] In the disclosed embodiment, upon receiving the call invitation signaling sent by the first client via the satellite network, the server establishes a call connection between the first client and the second client according to the call invitation signaling. The second client is the called party of the call, and the number used by the second client is the target number. Exemplarily, the second client may be a user phone of a terrestrial operator or a VoIP client.
[0049] In the disclosed embodiment, after receiving the call invitation signaling sent by the first client via the satellite network, the server can also authenticate the identity of the first client. Exemplarily, the authentication process can be implemented as follows: authenticating the first client according to the call invitation signaling; if the authentication is successful, saving the client information of the first client in the call invitation signaling, the client information including the client IP and registration number; if the authentication fails, returning a status code indicating that the authentication failed to the first client.
[0050] Specifically, it can be determined whether the first client is registered based on the IP and registration number of the client. If the verification fails, a SIP signaling with a status code of 401 is returned. If the verification passes, the information of the first client is saved, mainly including the IP, the number used for registration, the protocol used for client connection, whether NAT processing is required, etc. In addition, after the first client successfully accesses, it needs to maintain a heartbeat with the server. If the heartbeat packet of the first client is not received within a certain period of time, the first client is treated as offline.
[0051] According to the second client being a VoIP client or a client corresponding to a ground operator, the embodiment of the present disclosure can initiate a call to the second client according to the target number to establish a call connection between the first client and the second client. When the second client is a VoIP client, the corresponding target number is an internal number, and when the second client is a client corresponding to a ground operator, the corresponding target number is an external number.
[0052] Exemplarily, the process can be implemented as follows: determine whether the target number is an internal number or an external number; and initiate a call to the second client according to the type of the target number. Further, corresponding to different types of target numbers, the process of initiating a call to the second client can be implemented as follows: if the target number is determined to be an external number, match the route corresponding to the target number according to the routing table, send the call invitation signaling to the core network, and send it to the second client via the core network and the ground operator; if the target number is determined to be an internal number, match the route corresponding to the target number according to the routing table, and send the call invitation signaling directly to the second client.
[0053] Specifically, the call control process is implemented based on the SIP protocol. After receiving the above-mentioned INVITE signaling, the server determines whether the target number is an external number or an internal number based on the number format of the called party number, such as the first few digits, and performs routing control according to the routing table in the configuration file to select a suitable route for the target number. Specifically, the routing table can match the destination number in the above-mentioned INVITE signaling through a regular expression. If it is an internal number, the call is made directly. If it is an external number, it is sent to the core network through the SIP gateway, and then forwarded to the second client by the core network.
[0054] In step S130, the audio and video data in the call process are coded and decoded based on the codec protocol, and a corresponding media processing method is selected based on the call invitation signaling to implement call transmission between the first client and the second client.
[0055] In the disclosed embodiment, during a call between a first client and a second client, the audio and video data during the call are encoded and decoded based on the above-mentioned codec protocol. Exemplarily, in combination with the low bandwidth characteristics of the satellite network, the above-mentioned codec protocol is the G.729 protocol. During the communication process, the G.729 protocol does not carry the compression result of the actual voice data, but a sound code table obtained using the CS-ACELP (Conjugate-Structure Algebraic-Codec-Excited Liner, a coding method based on linear prediction) prediction model. CS-ACELP uses mathematics to simulate various human vocalization methods to establish a sound code table. During the transmission process, the actual sound is replaced by the code corresponding to the sound according to the sound code table. After the receiving end receives the sound code, it synthesizes the speech according to these sound codes, thereby saving bandwidth.
[0056] In addition, since selecting a suitable media processing method in a satellite network has an important impact on saving bandwidth, during the communication process, the embodiment of the present disclosure automatically selects a suitable media processing method according to different usage scenarios. Exemplarily, the above-mentioned media processing methods may include supporting transparent transmission, media bypass and media proxy. Among them, the media processing method refers to sending audio and video data without transcoding, media bypass refers to point-to-point transmission by the client without passing through the server, and media proxy refers to changing the data sending source to the address of the server.
[0057] Exemplarily, the above-mentioned selection of the corresponding media processing method based on the call invitation signaling can be implemented as follows: if the call invitation signaling specifies the media processing method, the audio and video data are processed according to the specified media processing method; if the call invitation signaling does not specify the media processing method, the media processing method is selected according to the target number in the call invitation signaling.
[0058] Among them, the implementation of selecting the media processing method according to the target number in the call invitation signaling can be specifically as follows: if the target number is an internal number, select media bypass; if the target number is an external number, determine whether transcoding is supported; if transcoding is supported, perform media synthesis processing on the audio and video data; if transcoding is not supported, send the audio and video data to the corresponding client for media synthesis processing using media transparent transmission.
[0059] Through the above method, when the two clients of the current call are located in the same LAN and do not need the server to process the media stream, the satellite network will only be used when media negotiation is performed through SIP signaling, and the media will be processed in a media bypass manner during the call, thereby saving bandwidth.
[0060] Specifically, in a specific embodiment, if Figure 2As shown, the above process may include the following steps:
[0061] S201: Screen the SIP signaling of the INIVITE type and extract the target number from the To field in the signaling header;
[0062] S202: Determine whether the media processing mode is specified in the INIVITE signaling. If so, execute step S203; if not, execute step S204;
[0063] S203: Perform media processing in a specified manner;
[0064] S204: Determine whether the destination number is an external number, if so, execute step S205, if not, execute step S206;
[0065] S205: Determine whether transcoding is supported, if so, execute step S207, if not, execute step S208;
[0066] S206: Selecting a media bypass processing method;
[0067] S207: Processing the media stream, that is, the audio and video data during the call, at the server end;
[0068] S208: Use media transparent transmission to hand over the media stream to the client for processing.
[0069] In the embodiments of the present disclosure, the above media synthesis is processed in two ways: distributed and centralized. Distributed means that a multi-track audio stream is sent to the client for synthesis processing, and centralized means that the server performs synthesis processing and sends a single-track audio stream to the client. If the client specifies the synthesis method, the specified media stream synthesis method is used. In order to save bandwidth, the embodiments of the present disclosure adopt centralized processing, perform stream mixing at the server, synthesize one track of audio and send it to the client.
[0070] Exemplarily, the above media synthesis processing can be implemented using the average adjustment weight method as follows: linearly add the voices of each channel in the audio and video data, and then divide by the number of channels to obtain the synthesized audio and video data.
[0071] By mixing multiple audios on the server side, combining them into one track and then sending it to the client, bandwidth usage can be reduced and the client does not need to perform additional processing.
[0072] Furthermore, the embodiment of the present disclosure also provides a call transmission device, such as Figure 3 As shown, the call transmission device is composed of an access module, a data processing module, and a basic module. Among them:
[0073] The access module includes a user authentication unit and a session management unit. The session management unit is used to receive a call invitation signaling sent by the first client via the satellite network and manage the session; the user authentication unit is used to authenticate the first client according to the call invitation signaling, wherein the first client is an IP-based voice transmission client, the call invitation signaling includes a target number and a codec protocol, and the codec protocol supports the satellite network;
[0074] The above-mentioned data processing module includes a call management unit, a media stream unit and a basic unit. Among them, the above-mentioned call management unit is used to initiate a call to the second client according to the target number, and establish a call connection between the first client and the second client; the above-mentioned media stream unit is used to encode and decode the audio and video data during the call based on the codec protocol, and select the corresponding media processing method based on the call invitation signaling; the basic module includes a database, a log, a timer and a command interface. Among them, the above-mentioned database is used for data storage, the above-mentioned log is used to implement log management, the above-mentioned timer is used to implement timing operations, and the above-mentioned command interface is used to provide an interface for upper-layer services to use.
[0075] In the embodiment of the present disclosure, the above-mentioned call management unit is specifically used to: determine whether the type of the target number is an internal number or an external number, the internal number is the number of the IP-based voice transmission client, and the external number is the number corresponding to the ground operator; initiate a call to the second client based on the type of the target number.
[0076] Corresponding to different types of target numbers, the process of initiating a call to the second client can be implemented as follows:
[0077] When it is determined that the type of the target number is an external number, the route corresponding to the target number is matched according to the routing table, and the call invitation signaling is sent to the core network, and then sent to the second client via the core network and the ground operator.
[0078] When it is determined that the type of the target number is an internal number, the route corresponding to the target number is matched according to the routing table, and the call invitation signaling is directly sent to the second client, wherein the second client corresponding to the internal number is an IP-based voice transmission client.
[0079] Specifically, in Figure 4 In the specific application scenario shown, the functions of the above modules and units are described in detail:
[0080] Access module: responsible for the authentication of VoIP clients, judging whether the identity information passed by the client is correct, and returning a SIP signaling with a status code of 401 if the authentication fails. If the authentication passes, the client information is saved, mainly including the IP, the number used for registration, the protocol used for client connection, whether NAT processing is required, etc. After the client successfully accesses, it needs to maintain a heartbeat with the server. If the heartbeat packet of the client is not received within a certain period of time, the client will be treated as offline.
[0081] Data processing module: It consists of a media stream submodule and a call management submodule. Call control in the call management submodule is implemented based on the SIP protocol. The main function of this module is to process various types of SIP signaling and perform different actions for different types of signaling to achieve the purpose of call control. The number routing in the call management submodule is controlled by the routing table in the configuration file. The routing table mainly uses regular expressions to match the destination number in the INVITE signaling that initiates the call. Internal numbers are called directly, and external numbers are sent to the core network through the SIP gateway. The call record management in the call management submodule is mainly responsible for saving call records. The audio and video codec of the media stream submodule decodes the received audio stream based on G.729 and encodes the sent audio stream. If the client does not specify the media processing method during media negotiation, the media stream adaptive module will automatically select a media processing method that saves more media bandwidth according to the location of the destination number. If the client specifies the synthesis method, the specified media stream synthesis method is used.
[0082] Basic module: The basic module is responsible for data storage, log management and timing operations, as well as providing interfaces for upper-level services.
[0083] In addition, the above Figure 4 In the specific application scenario shown, the core network is responsible for processing the interaction between the above-mentioned call transmission device and other external operators.
[0084] It should be noted that although the steps of the method in the present disclosure are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps, etc.
[0085] Correspondingly, this exemplary embodiment also provides a call transmission device, referring to Figure 5 As shown, the call transmission device 500 may include a call invitation receiving module 510, a call initiating module 520 and a call transmission module 530. Among them:
[0086] The call invitation receiving module 510 may be configured to receive a call invitation signaling sent by a first client via a satellite network, wherein the first client is an IP-based voice transmission client, and the call invitation signaling includes a target number and a codec protocol, and the codec protocol supports the satellite network;
[0087] The call initiating module 520 may be used to initiate a call to the second client according to the target number, and establish a call connection between the first client and the second client;
[0088] The call transmission module 530 can be used to encode and decode the audio and video data during the call based on the codec protocol, and select the corresponding media processing method based on the call invitation signaling to achieve call transmission between the first client and the second client.
[0089] In an exemplary embodiment of the present disclosure, the above-mentioned call invitation receiving module can also be used to: authenticate the first client based on the call invitation signaling; if the verification is successful, save the client information of the first client in the call invitation signaling, and the client information includes the client IP and registration number; if the verification fails, return a verification failure status code.
[0090] In an exemplary embodiment of the present disclosure, the above-mentioned call initiation module is specifically used to: determine whether the target number is an internal number or an external number, wherein the internal number is the number of the IP-based voice transmission client, and the external number is the number corresponding to the ground operator; if it is determined that the target number is an external number, the route corresponding to the target number is matched according to the routing table, and the call invitation signaling is sent to the core network, and sent to the second client via the core network and the ground operator; if it is determined that the target number is an internal number, the route corresponding to the target number is matched according to the routing table, and the call invitation signaling is sent directly to the second client, wherein the second client corresponding to the internal number is an IP-based voice transmission client.
[0091] In an exemplary embodiment of the present disclosure, the above-mentioned call transmission module is specifically used for: if the call invitation signaling specifies the media processing method, then media processing is performed on the audio and video data according to the specified media processing method; if the call invitation signaling does not specify the media processing method, then the media processing method is selected according to the target number in the call invitation signaling.
[0092] Among them, the specific implementation of selecting the media processing method according to the target number in the call invitation signaling can be as follows: if the target number is an internal number, select media bypass; if the target number is an external number, determine whether transcoding is supported; if transcoding is supported, perform media synthesis processing on the audio and video data; if transcoding is not supported, send the audio and video data to the corresponding client for media synthesis processing using media transparent transmission.
[0093] In an exemplary embodiment of the present disclosure, the call transmission module is further used to linearly add the voices of various channels in the audio and video data, and then divide the sum by the number of channels to implement the media synthesis processing.
[0094] The specific implementation details of the above-mentioned call transmission device have been described in detail in the corresponding position of the above-mentioned call transmission method, so they will not be repeated here.
[0095] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.
[0096] Figure 6 Schematic diagram of the structure of an electronic device in the embodiment of the present disclosure. Figure 6 , which shows a structural schematic diagram of an electronic device 600 suitable for implementing the embodiments of the present disclosure. Figure 6 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0097] like Figure 6 As shown, the electronic device 600 may include a processing device (e.g., a central processing unit, a graphics processor, etc.) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage device 608 to a random access memory (RAM) 603 to implement the call transmission method of the embodiment described in the present disclosure. In the RAM 603, various programs and data required for the operation of the electronic device 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0098] Typically, the following devices may be connected to the I / O interface 605: an input device 606 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 607 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 608 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 609. The communication device 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 6The electronic device 600 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.
[0099] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart, thereby implementing the method as described above. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device 609, or installed from a storage device 608, or installed from a ROM 602. When the computer program is executed by the processing device 601, the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.
[0100] It should be noted that the computer-readable medium disclosed above may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0101] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.
[0102] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
[0103] The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device:
[0104] receiving a call invitation signaling sent by a first client via a satellite network, wherein the first client is an IP-based voice transmission client, and the call invitation signaling includes a target number and a codec protocol, and the codec protocol supports the satellite network;
[0105] Initiate a call to the second client according to the target number, and establish a call connection between the first client and the second client;
[0106] The audio and video data in the call process are encoded and decoded based on the codec protocol, and the corresponding media processing method is selected based on the call invitation signaling to realize the call transmission between the first client and the second client.
[0107] Optionally, when the above one or more programs are executed by the electronic device, the electronic device may also execute other steps described in the above embodiments.
[0108] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages or a combination thereof, including, but not limited to, object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).
[0109] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0110] The units involved in the embodiments described in the present disclosure may be implemented by software or hardware, wherein the name of a unit does not, in some cases, limit the unit itself.
[0111] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0112] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0113] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.
[0114] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.
[0115] Although the subject matter has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims.
Claims
1. A call transmission method, characterized in that: include: receiving a call invitation signaling sent by a first client via a satellite network, wherein the first client is an IP-based voice transmission client, and the call invitation signaling includes a target number and a codec protocol, and the codec protocol supports the satellite network; Initiating a call to the second client according to the target number, and establishing a call connection between the first client and the second client; The audio and video data in the call process are encoded and decoded based on the encoding and decoding protocol, and a corresponding media processing method is selected based on the call invitation signaling to realize the call transmission between the first client and the second client.
2. The call transmission method according to claim 1, characterized in that: After receiving the call invitation signaling sent by the first client via the satellite network, the method further includes: authenticating the first client according to the call invitation signaling; If the verification is successful, the client information of the first client in the call invitation signaling is saved, the client information including the client IP and registration number; If the verification fails, a status code indicating identity authentication failure is returned to the first client.
3. The call transmission method according to claim 1, characterized in that: The initiating a call to the second client according to the target number includes: Determine whether the type of the target number is an internal number or an external number, the internal number is the number of the IP-based voice transmission client, and the external number is the number corresponding to the ground operator; A call is initiated to the second client according to the type of the target number.
4. The call transmission method according to claim 3, characterized in that: The initiating a call to the second client according to the type of the target number includes: When it is determined that the type of the target number is the external number, the route corresponding to the target number is matched according to the routing table, the call invitation signaling is sent to the core network, and then sent to the second client via the core network and the ground operator.
5. The call transmission method according to claim 3, characterized in that: The initiating a call to the second client according to the type of the target number includes: When it is determined that the type of the target number is the internal number, the route corresponding to the target number is matched according to the routing table, and the call invitation signaling is directly sent to the second client, wherein the second client corresponding to the internal number is the IP-based voice transmission client.
6. The call transmission method according to claim 3, characterized in that: The selecting a corresponding media processing method based on the call invitation signaling includes: If the call invitation signaling specifies the media processing mode, performing media processing on the audio and video data according to the specified media processing mode; If the call invitation signaling does not specify the media processing mode, the media processing mode is selected according to the type of the target number in the call invitation signaling.
7. The call transmission method according to claim 6, characterized in that: The selecting the media processing mode according to the type of the target number in the call invitation signaling includes: If the target number is the internal number, media bypass is selected; If the target number is the external number, determining whether transcoding is supported; If transcoding is supported, media synthesis processing is performed on the audio and video data; If transcoding is not supported, the audio and video data are sent to the corresponding client for media synthesis processing using media transparent transmission.
8. The call transmission method according to claim 7, characterized in that: The media synthesis process includes: Linearly add the voices of each channel in the audio and video data, and then divide by the number of channels to obtain the synthesized audio and video data.
9. A call transmission device, characterized in that: include: An access module, the access module comprising a user authentication unit and a session management unit, wherein the session management unit is used to receive a call invitation signaling sent by a first client via a satellite network and implement session management, and the user authentication unit is used to authenticate the first client according to the call invitation signaling, wherein the first client is an IP-based voice transmission client, the call invitation signaling includes a target number and a codec protocol, and the codec protocol supports the satellite network; A data processing module, the data processing module includes a call management unit, a media stream unit and a basic unit, wherein the call management unit is used to initiate a call to the second client according to the target number and establish a call connection between the first client and the second client, the media stream unit is used to encode and decode the audio and video data during the call based on the codec protocol, and select the corresponding media processing method based on the call invitation signaling, and the basic unit includes a database, a log, a timer and a command interface, wherein the database is used for data storage, the log is used to implement log management, the timer is used to implement timing operations, and the command interface is used to provide an interface for upper-layer services to use.
10. The call transmission device according to claim 9, characterized in that: The call management unit is specifically used for: Determine whether the type of the target number is an internal number or an external number, the internal number is the number of the IP-based voice transmission client, and the external number is the number corresponding to the ground operator; A call is initiated to the second client according to the type of the target number.
11. The call transmission device according to claim 10, characterized in that: The initiating a call to the second client according to the type of the target number includes: When it is determined that the type of the target number is the external number, the route corresponding to the target number is matched according to the routing table, the call invitation signaling is sent to the core network, and then sent to the second client via the core network and the ground operator.
12. The call transmission device according to claim 10, characterized in that: The initiating a call to the second client according to the type of the target number includes: When it is determined that the type of the target number is the internal number, the route corresponding to the target number is matched according to the routing table, and the call invitation signaling is directly sent to the second client, wherein the second client corresponding to the internal number is the IP-based voice transmission client.
13. The call transmission device according to claim 9, characterized in that: The media stream unit is specifically used for: If the call invitation signaling specifies the media processing mode, performing media processing on the audio and video data according to the specified media processing mode; If the call invitation signaling does not specify the media processing mode, the media processing mode is selected according to the type of the target number in the call invitation signaling.
14. The call transmission device according to claim 13, characterized in that: The selecting the media processing mode according to the type of the target number in the call invitation signaling includes: If the target number is the internal number, media bypass is selected; If the target number is the external number, determining whether transcoding is supported; If transcoding is supported, media synthesis processing is performed on the audio and video data; If transcoding is not supported, the audio and video data are sent to the corresponding client for media synthesis processing using media transparent transmission.
15. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.
16. An electronic device, characterized in that: include: processor; A memory, configured to store executable instructions of the processor; The processor is configured to perform the method of any one of claims 1 to 8 by executing the executable instructions.