[go: up one dir, main page]

CN105141710B - A kind of data transmission method, relevant apparatus and its system - Google Patents

A kind of data transmission method, relevant apparatus and its system Download PDF

Info

Publication number
CN105141710B
CN105141710B CN201510487760.4A CN201510487760A CN105141710B CN 105141710 B CN105141710 B CN 105141710B CN 201510487760 A CN201510487760 A CN 201510487760A CN 105141710 B CN105141710 B CN 105141710B
Authority
CN
China
Prior art keywords
network terminal
public network
communication port
private network
code stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510487760.4A
Other languages
Chinese (zh)
Other versions
CN105141710A (en
Inventor
廖述钊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Device Co Ltd
Original Assignee
Huawei Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Device Co Ltd filed Critical Huawei Device Co Ltd
Priority to CN201510487760.4A priority Critical patent/CN105141710B/en
Publication of CN105141710A publication Critical patent/CN105141710A/en
Application granted granted Critical
Publication of CN105141710B publication Critical patent/CN105141710B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

The embodiment of the invention discloses a kind of data transmission method, relevant apparatus and its systems.The method comprise the steps that after Session initiation protocol SIP connection setup between private net terminal and public network terminal, the private net terminal determines the first communication port and the second communication port by SIP signaling and the public network terminal, first communication port is the preset communication port of the private net terminal after negotiating, and second communication port is the communication port that the public network terminal is preset after negotiating;When the private net terminal needs to send media code stream to the public network terminal, the private net terminal is multiplexed first communication port and sends code stream to second communication port of the public network terminal.

Description

Data transmission method, related device and system thereof
Technical Field
The present invention relates to the field of communications, and in particular, to a data transmission method, a related apparatus, and a system thereof.
Background
In order to solve the number of Internet Protocol (IP) addresses and the security problem, a large number of Network Address Translation (NAT) devices and firewall devices exist in the existing IP Network. For simplicity, the public network is simply referred to as a public network, and devices with public network addresses can transparently access each other, for example: the Internet. A network isolated from the public network by a NAT device or a firewall device is called a private network.
The NAT equipment and the firewall usually allow a data packet sent by a private network terminal to a public network terminal to be mapped to a public network address, and a mapping relation of the following triplets (the private network address, the address of the private network after NAT conversion, and the public network address) is established on the NAT equipment; for the packet sent from public network to private network in reverse direction, the packet can be mapped to private network in reverse direction only if the following triple (private network address, address after NAT conversion, public network address) mapping relation exists.
In the prior art, a manner for solving a problem that a media stream passes through a NAT device in a Session Initiation Protocol (SIP) is specifically as follows:
when the private network terminal sends a code stream to the public network terminal through the NAT equipment, the source address is the private network address ip1, and the destination address is the public network address ip 3.
The NAT equipment converts the source address of the code stream from a private network address ip1 into a public network address ip2, the ip2 is generated by the NAT equipment by adopting a static mapping mode, a dynamic mapping mode and a dynamic port mapping mode, and meanwhile, the mapping relation between the private network address and the public network address is established (ip1, ip2 and ip 3). The NAT equipment comprises the following steps:
the packets of (src _ ip1, dst _ ip3) are converted to (src _ ip2, dst _ ip3) and forwarded to the public network.
And after the public network terminal receives the (src _ ip2, dst _ ip3) packet, the public network terminal can obtain the public network address ip2 after the private network terminal is converted, when the public network terminal sends a code stream to the private network terminal, the code stream is sent to the public network address of the NAT equipment, and because the mapping relationship exists, the NAT equipment can forward the code stream to the private network terminal, so that the code stream of the public network terminal passes through the NAT equipment and is transmitted to the private network terminal.
However, in the media call in practical application, there is a case of unidirectional bit stream transmission in which only the public network terminal sends a bit stream to the private network terminal, but the private network terminal does not send a bit stream to the public network terminal, such as: point-to-point auxiliary stream transmission;
or in the bidirectional code stream media call, in order to implement some services, the code stream in one direction is closed or suspended, because of the mapping relationship between the private network address and the public network address on the NAT device, there is usually a failure time, that is, there is no code stream sent by the private network terminal to the public network terminal within a period of time, which may cause the mapping relationship to fail.
In the prior art, for the situation of the unidirectional code stream or the intermittent code stream, since the private network terminal does not send the code stream to the public network terminal through the NAT device first, or the private network terminal does not send the code stream to the public network terminal within the failure time of the mapping relationship, the mapping relationship between the public network address and the private network address does not exist on the NAT device, or the mapping relationship fails, so that the unidirectional code stream or the intermittent code stream of the public network terminal cannot pass through the NAT device and be transmitted to the private network terminal.
Disclosure of Invention
The embodiment of the invention provides a data transmission method, a related device and a system thereof, which are used for solving the problem that a unidirectional code stream or an intermittent code stream of a public network terminal passes through NAT equipment to be transmitted to a private network terminal.
The data transmission method provided by the embodiment of the invention comprises the following steps: after Session Initiation Protocol (SIP) communication between a private network terminal and a public network terminal is established, the private network terminal acquires a public network sending address, wherein the public network sending address is an address for sending a code stream to the private network terminal by the public network terminal; and the private network terminal sends survival packets to the public network sending address through NAT equipment at intervals of a preset period, so that the NAT equipment establishes or maintains a mapping relation between the private network address of the private network terminal and the public network sending address according to the survival packets, and the preset period is less than the failure time of the mapping relation.
The data transmission method provided by the embodiment of the invention comprises the following steps: after SIP communication between a private network terminal and a public network terminal is established, the public network terminal sends a public network sending address to the private network terminal, and the public network sending address is an address for sending a code stream to the private network terminal by the public network terminal; the public network terminal receives the survival packet sent by the private network terminal through the public network sending address; and the public network terminal discards the received survival packet.
The data transmission method provided by the embodiment of the invention comprises the following steps: after SIP communication between a private network terminal and a public network terminal is established, the private network terminal determines a first communication port and a second communication port with the public network terminal through SIP signaling, the first communication port is a preset communication port of the private network terminal after negotiation, and the second communication port is a preset communication port of the public network terminal after negotiation; when the private network terminal needs to send code streams of various media types to the public network terminal, the private network terminal multiplexes the first communication port to send the code streams to the second communication port of the public network terminal; when the public network terminal needs to send code streams of various media types to the private network terminal, the public network terminal multiplexes the second communication port to send the code streams to the first communication port of the private network terminal.
The terminal provided by the embodiment of the invention comprises: the system comprises an acquisition unit, a processing unit and a sending unit, wherein the acquisition unit is used for acquiring a public network sending address after SIP communication between a terminal and a public network terminal is established, and the public network sending address is an address for sending a code stream to the terminal by the public network terminal; and the first sending unit is used for sending survival packets to the public network sending address through the NAT equipment at intervals of a preset period, so that the NAT equipment establishes or maintains a mapping relation between the private network address of the terminal and the public network sending address according to the survival packets, and the preset period is less than the failure time of the mapping relation.
The terminal provided by the embodiment of the invention comprises: the system comprises an address sending unit, a code stream sending unit and a code stream sending unit, wherein the address sending unit is used for sending a public network sending address to a private network terminal after SIP communication between the private network terminal and the terminal is established, and the public network sending address is an address for sending a code stream to the private network terminal by the terminal; and the receiving and processing unit is used for receiving the survival packet sent by the private network terminal through the public network sending address and discarding the received survival packet.
The data transmission system provided by the embodiment of the invention comprises: the private network terminal is used for acquiring a public network sending address after SIP communication with the public network terminal is established, wherein the public network sending address is an address of a code stream sent by the public network terminal to the terminal, and a survival packet is sent to the public network sending address every other preset period, so that NAT equipment establishes or maintains a mapping relation between the private network address of the terminal and the public network sending address according to the survival packet, and the preset period is less than the failure time of the mapping relation; the NAT equipment is used for converting the network address between the private network terminal and the public network terminal, receiving a survival packet sent by the private network terminal, and establishing or maintaining a mapping relation between the private network address of the private network terminal and the public network sending address according to the survival packet; and the public network terminal is used for sending a public network sending address to the private network terminal after SIP communication between the terminal and the private network terminal is established, receiving the survival packet sent by the private network terminal through the public network sending address and discarding the received survival packet.
The data transmission system provided by the embodiment of the invention comprises: the private network terminal is used for determining a first communication port and a second communication port with the public network terminal after SIP communication between the terminal and the public network terminal is established, wherein the first communication port is a preset communication port of the terminal after negotiation, the second communication port is a preset communication port of the public network terminal after negotiation, and when code streams of various media types need to be sent to the public network terminal, the first communication port is multiplexed to send the code streams to the second communication port of the public network terminal; NAT equipment, which is used for converting the network address between the private network terminal and the public network terminal; and the public network terminal is used for determining a first communication port and a second communication port with the private network terminal after SIP communication between the terminal and the private network terminal is established, and multiplexing the second communication port to send code streams to the first communication port of the private network terminal when code streams of various media types need to be sent to the private network terminal.
According to the technical scheme, the embodiment of the invention has the following advantages: after SIP communication is established between the private network terminal and the public network terminal, the private network terminal acquires a public network sending address, and sends a survival packet to the public network sending address through the NAT equipment, wherein the survival packet can enable the NAT equipment to establish or maintain a mapping relation between the private network address of the private network terminal and the public network sending address, so that when the public network terminal transmits unidirectional code streams or intermittent code streams, the corresponding mapping relation can be found in the NAT equipment, and the transmission of the code streams of the public network terminal to the private network terminal through the NAT equipment is realized.
Drawings
Fig. 1 is a schematic flow chart of a data transmission method according to an embodiment of the present invention;
FIG. 2 is another flow chart of a data transmission method according to an embodiment of the present invention;
FIG. 3 is a flowchart illustrating a data transmission method according to an embodiment of the present invention;
FIG. 4 is another flow chart of a data transmission method according to an embodiment of the present invention;
fig. 5 is a signaling diagram of a specific application example of the data transmission method according to the embodiment of the present invention;
FIG. 6 is another flow chart of a data transmission method according to an embodiment of the present invention;
FIG. 7 is another flow chart of a data transmission method according to an embodiment of the present invention;
fig. 8 is a schematic logical structure diagram of a terminal corresponding to the data transmission method according to the embodiment of the present invention;
fig. 9 is a schematic diagram of another logic structure of a terminal corresponding to the data transmission method according to the embodiment of the present invention;
fig. 10 is a schematic logical structure diagram of a data transmission system according to an embodiment of the present invention.
Detailed Description
The embodiment of the invention provides a data transmission method, a related device and a system thereof, which are used for solving the problem that a unidirectional code stream or an intermittent code stream of a public network terminal passes through NAT equipment to be transmitted to a private network terminal.
Referring to fig. 1, an embodiment of a data transmission method according to an embodiment of the present invention includes:
101. establishing SIP communication;
when the public network terminal and the private network terminal need to perform SIP service, SIP communication can be established between the private network terminal and the public network terminal.
The process of establishing SIP communication between the private network terminal and the public network terminal is common knowledge of those skilled in the art, and is not limited herein.
102. Acquiring a public network sending address;
after SIP communication between the private network terminal and the public network terminal is established, the private network terminal can acquire a public network sending address sent by the public network terminal through SIP signaling, and the public network sending address is used for the public network terminal to send a code stream to the private network terminal.
In this embodiment, the private network terminal may obtain the public network transmission address in a plurality of ways, which will be described in detail in the following embodiments.
103. Sending a survival packet;
after the private network terminal acquires the public network sending address, the private network terminal can send a survival packet to the public network sending address through the NAT equipment at intervals of a preset period, and the preset period time is less than the failure time of the mapping relation between the private network address of the private network terminal and the public network sending address established in the NAT equipment.
In this embodiment, the mapping relationship stored in the NAT device is usually set with a failure time, and if the private network terminal does not send a code stream to the public network terminal within the failure time, the mapping relationship between the private network address of the private network terminal and the public network address of the public network terminal will fail. Therefore, after the mapping relationship between the private network address and the public network sending address is established, the private network terminal needs to send the survival packet to the public network sending address through the NAT device every preset period to maintain the mapping relationship, and the time of the preset period is less than the failure time of the mapping relationship in the NAT device.
When the alive packet passes through the NAT device, the NAT device converts the source address of the alive packet into an address that can be transmitted over the public network, where the address is generated by means of static mapping, dynamic mapping, and dynamic port mapping, and meanwhile, the NAT device also establishes or maintains a mapping relationship between the private network address and the public network transmission address: (private network address, address after NAT conversion of private network address, public network sending address).
After the NAT equipment establishes the mapping relation between the private network address and the public network sending address, when the public network terminal sends a code stream to the private network terminal, the NAT equipment can utilize the mapping relation to reversely map the code stream so as to forward the code stream to the private network terminal.
In the process of unidirectional code stream transmission, only the public network terminal sends a code stream to the private network terminal, and the private network terminal does not send the code stream to the public network terminal, so that the public network terminal only has a public network sending address, the private network terminal needs to send a survival packet to the public network sending address to enable the public network terminal to receive the survival packet, and the NAT equipment can establish or maintain the mapping relation between the private network address and the public network sending address.
In this embodiment, after the private network terminal establishes SIP communication with the public network terminal, the private network terminal acquires a public network transmission address, and sends a survival packet to the public network transmission address through the NAT device, where the survival packet may enable the NAT device to establish or maintain a mapping relationship between the private network address of the private network terminal and the public network transmission address, so that when the public network terminal performs unidirectional or intermittent code stream transmission, the corresponding mapping relationship can be found in the NAT device, thereby implementing transmission of the code stream of the public network terminal to the private network terminal through the NAT device.
Referring to fig. 2, another embodiment of a data transmission method according to the embodiment of the present invention includes:
201. establishing SIP communication;
the content of step 201 in this embodiment is the same as that of step 101 in the embodiment shown in fig. 1, and is not described here again.
202. Receiving a communication request;
the private network terminal receives a unidirectional code stream transmission request sent by the public network terminal, wherein the unidirectional code stream transmission request is used for indicating that the public network terminal is about to send unidirectional code streams to the private network terminal, and the unidirectional code stream transmission request can be specifically sent through SIP signaling.
The specific unidirectional code stream may be an auxiliary stream, only one party is sending, and the opposite end is only responsible for receiving, but not sending the code stream to the sender.
203. Acquiring a public network sending address;
in this embodiment, the following modes may be specifically used for the private network terminal to obtain the public network sending address:
(1) and the private network terminal acquires the public network sending address from the transmission unidirectional code stream request:
the public network terminal can expand the request for transmitting the unidirectional code stream, and the expansion bit in the request is used for carrying the public network sending address of the public network terminal.
After the private network terminal receives the unidirectional code stream transmission request sent by the public network terminal, the private network terminal can extract the public network sending address from the unidirectional code stream transmission request sent by the public network terminal because the unidirectional code stream transmission request carries the public network sending address.
(2) And the private network terminal acquires the public network sending address from the SIP signaling actively sent by the public network terminal:
if the public network terminal does not carry the public network sending address in the request for transmitting the unidirectional code stream, the public network terminal can also use the notification INFO message to carry the public network sending address and actively send the INFO message to the private network terminal, and the private network terminal can extract the public network sending address from the INFO message.
It should be noted that the INFO message is one of SIP signaling, and it is understood that the public network terminal may send the public network sending address to the private network terminal by using other SIP signaling besides the INFO message, and the invention is not limited herein.
(3) And the private network terminal actively requests the public network terminal for sending an address to the public network:
after receiving a unidirectional code stream transmission request sent by a public network terminal, if the unidirectional code stream transmission request does not carry a public network sending address, a private network terminal can wait for the unidirectional code stream sent by the public network terminal, if the unidirectional code stream sent by the public network terminal is not received after a preset time, the private network terminal can send an address request to the public network terminal, the address request can be sent to the public network terminal by the private network terminal through SIP signaling, after receiving the address request, the public network terminal can feed back the public network sending address to the private network terminal through SIP signaling such as INFO message, and the private network terminal can extract the public network sending address from the SIP signaling such as INFO message.
The manner in which the private network terminal acquires the public network transmission address in this embodiment is exemplified above, and it can be understood that, in practical applications, the private network terminal may also acquire the public network transmission address in other manners, and the details are not limited herein.
204. Sending a survival packet;
the content of step 204 in this embodiment is the same as the content of step 103 in the embodiment shown in fig. 1, and is not repeated here.
In this embodiment, after the private network terminal establishes SIP communication with the public network terminal, the private network terminal acquires a public network transmission address, and sends a survival packet to the public network transmission address through the NAT device, where the survival packet can enable the NAT device to establish or maintain a mapping relationship between the private network address of the private network terminal and the public network transmission address, so that when the public network terminal performs unidirectional or intermittent code stream transmission, the corresponding mapping relationship can be found in the NAT device, thereby implementing transmission of the code stream of the public network terminal to the private network terminal through the NAT device;
in addition, in this embodiment, the private network terminal may obtain the public network transmission address in multiple ways, so that the flexibility of the scheme can be improved.
In the embodiment shown in fig. 2, the transmission of the unidirectional code stream is taken as an example for explanation, in practical applications, besides the unidirectional code stream, there may be intermittent code streams, and referring to fig. 3, a specific processing procedure of the embodiment of the present invention includes:
301. code stream exchange;
after the private network terminal and the public network terminal establish SIP communication, the two parties send code streams to the opposite end through the NAT equipment, for example, when the two parties are in a remote video conference, the two parties send video code streams to each other, and the NAT equipment stores the mapping relation between the private network address and the public network sending address.
302. Pausing the transmission of the code stream;
in the process of the SIP service, the private network terminal may suspend transmission of the code stream, for example, a video conference is performed for a period of time, the private network terminal needs to perform an internal discussion on the content of the video conference, and at this time, it is not desirable to transmit video and audio information in the internal discussion process to the public network terminal of the opposite end, so that a transmission channel of the video code stream may be closed, or transmission of the code stream may be suspended.
303. Sending a survival packet;
if the private network terminal closes the sending channel of the video code stream, or the duration of the pause of the code stream sending exceeds the failure time of the corresponding mapping relation on the NAT equipment, the mapping relation is failed, and the code stream sent subsequently by the public network terminal cannot pass through the NAT equipment to reach the private network terminal, so that the video conference is completely interrupted.
In order to avoid the foregoing situation, in this embodiment, when the private network terminal closes the code stream transmission channel or suspends code stream transmission, the private network terminal transmits a survival packet to the public network transmission address of the public network terminal through the NAT device every preset period to maintain the mapping relationship in the NAT device, where the preset period is less than the expiration time of the mapping relationship.
304. Restarting code stream transmission;
the private network terminal closes the sending channel of the video code stream, or after the sending of the code stream is suspended, the code stream sending channel can be restarted, the code stream is continuously sent to the public network terminal, for example, the video conference is continuously carried out after the internal discussion is finished.
305. Stopping sending the survival packet;
when the private network terminal restarts the code stream transmission channel or continues the code stream transmission, the mapping relation on the NAT device can be maintained through the data code stream, and the private network terminal can stop transmitting the survival packet in order to avoid unnecessary data transmission.
In this embodiment, when intermittent code stream transmission is performed, if the private network terminal closes the transmission channel of the video code stream, or suspends the transmission of the code stream, the private network terminal will actively transmit the survival packet to maintain the mapping relationship in the NAT device, so as to ensure that the code stream transmitted by the public network terminal can pass through the NAT device and be transmitted to the private network terminal;
secondly, when the private network terminal restarts the code stream sending channel and continues to send the code stream to the public network terminal, the private network terminal can stop sending the survival packet, thereby avoiding unnecessary data transmission and saving network resources.
In addition to the above mentioned mapping relation failure possibly caused by the unidirectional code stream and the intermittent code stream, in practical applications, the mapping relation failure in the NAT device may also be caused by the burst code stream and the intermittent code stream, and the specific processing procedure is as follows:
firstly, aiming at burst code stream:
in a media call, some codestreams are not persistent and are bursty. If the private network terminal and the public network terminal have established a bidirectional channel of the SIP, before the private network terminal does not send the code stream, the NAT device has no mapping relation, so the code stream of the public network terminal cannot pass through the NAT device.
Therefore, in this embodiment, after the SIP bidirectional channel between the private network terminal and the public network terminal is established, the private network terminal may actively send the survival packet to the public network terminal through the NAT device, and establish the corresponding mapping relationship.
Secondly, discontinuous code stream:
in the above SIP service, even if the private network terminal has already sent a code stream to the public network terminal and a corresponding mapping relationship is established in the NAT device, because the code stream is intermittent, the time for disconnection may exceed the failure time of the mapping relationship, so that the code stream of the public network terminal cannot pass through the NAT device.
Therefore, in this embodiment, after the SIP bidirectional tunnel between the private network terminal and the public network terminal is established, the private network terminal may continuously send the survival packet through the NAT device every preset period to maintain the corresponding mapping relationship.
For easy understanding, the following description will be made of burst code stream and interrupted code stream by taking remote camera control as an example:
the remote camera control is to send control data (such as zooming in, zooming out, moving left and right) to a public network terminal (such as a camera) through a private network terminal (such as a control terminal), and the control data is a burst and discontinuous code stream.
After the SIP bidirectional channel between the control end and the camera is established, the camera can continuously send video data to the control end, only after the control end performs control operation, the control end can send a control code stream to the camera, and before the control end performs control, the video data sent by the camera becomes a unidirectional code stream.
Even if the control end has already operated and formed the corresponding mapping relation on the NAT equipment, if exceed the failure time of the mapping relation and do not operate again, the mapping relation will be invalid, the video data sent by the camera can not pass through the NAT equipment, so after the SIP two-way channel between the control end and the camera is established, the control end can continuously send the survival packet to the camera through the NAT equipment at intervals of a preset period, and the preset period is less than the failure time of the corresponding mapping relation, thereby establishing and maintaining the corresponding mapping relation in the NAT equipment.
The application scenarios in the embodiments of the present invention are described above by using only some examples, and it is understood that in practical applications, there may be many more application scenarios, and the details are not limited herein.
In the above embodiment, the data transmission method of the present invention is described from the perspective of a private network terminal, and in the following description, referring to fig. 4, the data transmission method in the embodiment of the present invention includes:
401. establishing SIP communication;
the content of step 401 in this embodiment is the same as the content of step 101 in the embodiment shown in fig. 1, and is not repeated here.
402. Sending a public network sending address;
in this embodiment, the public network terminal may send the public network sending address to the private network terminal in some ways as follows:
(1) and the public network terminal sends a public network sending address through transmitting the unidirectional code stream request:
when the public network terminal needs to transmit the unidirectional code stream to the private network terminal, the public network terminal can send a request for transmitting the unidirectional code stream to the private network terminal, the request for transmitting the unidirectional code stream can be realized through SIP signaling, specifically, the public network terminal can use an extension bit in the request for transmitting the unidirectional code stream to carry a public network sending address, and the public network terminal can send the public network sending address through the request for transmitting the unidirectional code stream.
(2) And the public network terminal actively sends the SIP signaling containing the public network sending address:
if the public network terminal does not carry the public network sending address in the request for transmitting the unidirectional code stream, the public network terminal can also use the notification INFO message to carry the public network sending address and actively send the INFO message to the private network terminal.
It should be noted that the INFO message is one of SIP signaling, and it is understood that the public network terminal may send the public network sending address to the private network terminal by using other SIP signaling besides the INFO message, and the invention is not limited herein.
(3) And the public network terminal sends a public network sending address according to the request of the private network terminal:
after the public network terminal sends a request for transmitting unidirectional code stream to the private network terminal, if the request for transmitting unidirectional code stream does not carry a public network sending address, the private network terminal can wait for the unidirectional code stream sent by the public network terminal, if the unidirectional code stream sent by the public network terminal is not received after a preset time, the private network terminal can send an address request to the public network terminal, the address request can be sent to the public network terminal by the private network terminal through SIP signaling, and after the public network terminal receives the address request, the public network terminal can feed back the public network sending address to the private network terminal through SIP signaling such as INFO message.
The manner in which the public network terminal sends the public network sending address to the private network terminal in this embodiment is illustrated above, and it can be understood that, in practical application, the public network terminal may send the public network sending address to the private network terminal in other manners, and this is not limited herein.
403. Receiving a survival packet;
after the public network terminal sends the public network sending address to the private network terminal, the survival packet sent by the private network terminal can be received through the public network sending address.
404. Discarding the survival packet;
since the purpose of the private network terminal sending the survival packet is to establish or maintain the mapping relationship between the private network terminal and the public network terminal in the NAT device, the public network terminal can directly discard the survival packet after receiving the survival packet through the public network sending address.
For convenience of understanding, the following describes the data transmission method described in the foregoing embodiment in a specific application scenario, please refer to fig. 5, which specifically includes:
501. establishing SIP communication;
when the private network terminal and the public network terminal need to perform SIP service, the private network terminal can establish SIP communication with the public network terminal.
502. Sending an auxiliary stream request;
if the public network terminal needs to send an auxiliary flow to the private network terminal, the public network terminal can send an auxiliary flow request to the private network terminal through the SIP signaling, and the auxiliary flow request carries a public network sending address ip3 of the public network terminal.
503. Receiving and responding to the auxiliary stream request;
and the private network terminal receives the auxiliary flow request sent by the public network terminal.
The auxiliary stream in this embodiment may be a video stream, which is used to display a video to a private network terminal, and belongs to a point-to-point unidirectional code stream, where only one party is sending the auxiliary stream, and the opposite end only receives the auxiliary stream.
After the private network terminal confirms that the auxiliary stream can be received, the private network terminal responds the auxiliary stream request to the public network terminal.
504. Acquiring a public network sending address;
after the private network terminal receives the auxiliary flow request sent by the public network terminal, the private network terminal extracts ip3 from the auxiliary flow request sent by the public network terminal.
It should be noted that, in this embodiment, an example that the auxiliary flow request carries a public network sending address of the public network terminal is described, and it is understood that, in practical application, the private network terminal may also obtain the public network sending address in other manners, a specific manner is similar to that described in the embodiment shown in fig. 2, and details are not described here again.
505. Sending a survival packet;
after the private network terminal acquires the ip3, sending KeepAlive packets (src _ ip1 and dst _ ip3) to the ip3 of the public network terminal through NAT equipment at preset intervals; the time of the preset period is less than the failure time of the corresponding mapping relation in the NAT equipment. src _ ip1 is the private network address of the private network terminal, and is also the receiving address of the code stream.
506. Establishing a mapping relation;
after receiving the KeepAlive packets (src _ ip1, dst _ ip3), the NAT device converts the KeepAlive packets (src _ ip1, dst _ ip3) into KeepAlive packets (src _ ip2, dst _ ip3), where ip2 is an address of ip1 transmitted on the public network and is generated by the NAT device according to ip1 by using static mapping, dynamic mapping, and dynamic port mapping.
After the NAT device converts ip1 into ip2, a mapping relationship between ip1 and ip3 is established (ip1, ip2, and ip 3).
507. Sending the converted survival packet;
the NAT equipment sends KeepAlive (src _ ip2, dst _ ip3) to the public network terminal according to ip 3.
508. Sending an auxiliary stream;
after receiving the KeepAlive packet (src _ ip2, dst _ ip3), the public network terminal confirms that the mapping relationship between the public network sending address and the private network address already exists in the NAT device, so that the public network terminal can start sending the auxiliary stream.
Because the purpose of the private network terminal sending the survival packet is to establish or maintain the mapping relation between the private network address and the public network sending address in the NAT equipment, the public network terminal can be directly discarded after receiving the survival packet.
509. Forwarding the auxiliary stream;
after receiving the auxiliary flows (src _ ip3, dst _ ip2) sent by the public network terminal, the NAT device queries the mapping relationships (ip1, ip2, ip3), maps the auxiliary flows in the reverse direction to (src _ ip2, dst _ ip1), and sends the auxiliary flows to the private network terminal.
In this embodiment, a mapping relationship is stored in the NAT device, where the mapping relationship may be (ip1, ip2, ip3), where ip1 is (private network address + port number) actually, and ip3 is (public network terminal + port number) actually, in an actual application, generally, a code stream of each media type corresponds to a port number, port numbers used by code streams of different media types are different, and since multiple different media types often need to be transmitted between a private network terminal and a public network terminal, for a certain private network terminal and a certain public network terminal, many different sets of mapping relationships may be stored in the NAT device, and the difference is only that the port numbers are different, so that the NAT device needs to use a large number of resources to store and maintain the mapping relationships.
To reduce the burden of the NAT device, the present embodiment provides a data transmission method, and specifically referring to fig. 6, another embodiment of the data transmission method in the embodiment of the present invention includes:
601. establishing SIP communication;
when the code stream data needs to be transmitted between the public network terminal and the private network terminal, the public network terminal and the private network terminal establish SIP communication and transmit control instructions of the public network terminal and the private network terminal through SIP signaling.
602. Negotiating a communication port;
and the private network terminal and the public network terminal negotiate through SIP signaling to determine a first communication port and a second communication port. The first communication port is a preset communication port of the private network terminal after negotiation, and the second communication port is a preset communication port of the public network terminal after negotiation.
After negotiation, the private network terminal and the public network terminal determine communication ports for both parties to perform code stream transmission fixation, and in the code stream transmission performed later, code stream data of any media type is transmitted and received through the first communication port and the second communication port.
603. The private network terminal sends a code stream;
when the private network terminal needs to send the code stream, the first communication port is used for sending the code stream to the second communication port of the public network terminal through the NAT equipment.
The code stream comprises at least one data packet, and each data packet comprises: attribute identification, private network address, public network sending address, Real-time Transport Protocol (RTP Head) file header and at least one media data.
The attribute identifier is used for distinguishing different media data, so that the public network terminal can process different types of media data respectively.
604. The private network terminal sends the code stream again;
when the private network terminal needs to send the code stream to the public network terminal again, no matter which media type of code stream data, the first communication port is continuously used to send the code stream to the second communication port of the public network terminal through the NAT equipment.
In this embodiment, when the same private network terminal sends a code stream to the same public network terminal through the NAT device, no matter which media type of the code stream data is, the same preset communication port is used for receiving and sending the code stream data in a unified manner, and since the mapping relationship is established according to the communication port, the private network address and the public network sending address, only one mapping relationship needs to be established between the private network terminal and the public network terminal in the NAT device, so that link resources on the NAT device are saved.
In the foregoing description from the perspective of the private network terminal, and in the following description from the perspective of the public network terminal, referring to fig. 7, another embodiment of the data transmission method in the embodiment of the present invention includes:
701-703, the contents of steps 701-703 in this embodiment are the same as the contents of steps 601-603 in the embodiment shown in fig. 6, and are not repeated here.
704. Receiving the code stream by the public network terminal;
the public network terminal receives a code stream sent by the private network terminal from the second communication port through the NAT equipment; distinguishing different media data according to the attribute identification contained in the data packet of the code stream, and carrying out corresponding processing on the different media data in the code stream;
705. the public network terminal sends a code stream;
when the public network terminal needs to send the code stream to the private network terminal, no matter what the media type of the code stream is, and no matter whether the code stream is sent before, the public network terminal can use the second communication port to send the code stream to the first communication port of the private network terminal through the NAT equipment.
In this embodiment, when the public network terminal needs to send a code stream to the private network terminal, as long as the mapping relationship between the private network terminal and the public network terminal has been stored in the NAT device before, no matter what the media type of the code stream is, no matter whether the code stream is a unidirectional code stream or a bidirectional code stream, the code stream can be transmitted using the previous mapping relationship.
For convenience of understanding, the following describes the data transmission method described in the foregoing embodiment in a specific application scenario, specifically:
firstly, negotiating a communication port;
after the private network terminal and the public network terminal establish SIP communication, a first communication port and a second communication port are determined through SIP signaling negotiation, the first communication port is a preset communication port of the private network terminal after the negotiation, and the second communication port is a preset communication port of the public network terminal after the negotiation.
Secondly, the private network terminal sends a code stream through the first communication port;
the private network terminal firstly sends code stream to the public network sending address corresponding to the public network terminal and the preset communication port ip3+ port3 through the NAT device. Assuming that the private network address of the private network terminal and the preset communication port thereof are ip1+ port1, when passing through the NAT device, ip1+ port1 is converted into the network address ip2+ port2 of public network transmission, and a fixed mapping relationship (ip1+ port1, ip2+ port2, ip3+ port3) is established, where ip1+ port1 corresponds to ip2+ port2 one to one. And the NAT equipment sends the code stream to the public network terminal according to the mapping relation, and the public network terminal receives the code stream through a preset communication port.
Thirdly, both parties multiplex a preset communication port for transmission;
when a private network terminal needs to send a code stream to the public network terminal again, no matter whether the type of the code stream sent again is the same as that of the code stream sent for the first time, the code stream is sent to ip3+ port3 by using ip1+ port1 in a unified way, and mapping relationships (ip1+ port1, ip2+ port2, ip3+ port3) can be multiplexed when passing through NAT equipment.
When a public network terminal needs to send a code stream to a private network terminal, it is assumed that the media type of the code stream is an auxiliary stream, and the private network terminal never sends the auxiliary stream to the public network terminal, but as long as the mapping relationships (ip1+ port1, ip2+ port2, ip3+ port3) are not invalid, the public network terminal can send the stream to ip2+ port2 using ip3+ port3, and since ip1+ port1 and ip2+ port2 are in one-to-one correspondence, the public network terminal can reversely map to ip1+ port1 by using (ip1+ port1, ip2+ port2, ip3+ port3) in NAT devices, and the auxiliary stream data can be successfully transmitted.
Fourthly, adding attribute identification;
when all media data types are transmitted and received, the same communication port is multiplexed, and no matter which party transmits the code stream, attribute identification needs to be added to the data packet in the code stream. The attribute identifier may be negotiated in the SIP communication process (e.g., audio may be "001" and video may be "002"), or may be other forms of data codes, which is not limited herein.
After receiving the code stream, the receiver can analyze the attribute identifier to distinguish different types of media data such as video, audio, auxiliary stream, remote camera control data, and then perform corresponding media processing.
An embodiment of the private network terminal of the present invention for executing the data transmission method is described below, and a logic structure thereof refers to fig. 8, where an embodiment of the private network terminal of the present invention includes:
an obtaining unit 801, configured to obtain a public network sending address after SIP communication between the terminal and the public network terminal is established, where the public network sending address is an address where the public network terminal sends a code stream to the terminal;
a first sending unit 802, configured to send a survival packet to the public network sending address through the NAT device every preset period, so that the NAT device establishes or maintains a mapping relationship between a private network address of the terminal and the public network sending address, where the preset period is less than the expiration time of a corresponding mapping relationship in the NAT device.
The private network terminal in the embodiment of the present invention may further include:
the first receiving unit 803 is configured to receive a unidirectional code stream transmission request sent by a public network terminal, and trigger the obtaining unit 801 to obtain a public network sending address from the unidirectional code stream transmission request.
The unidirectional code stream transmission request can be sent by a public network terminal through SIP signaling, and the extension bit of the unidirectional code stream transmission request can carry a public network sending address.
Or, the private network terminal in the embodiment of the present invention may further include:
the second receiving unit 804 is configured to receive an SIP signaling that is actively sent by the public network terminal and contains a public network sending address, and trigger the obtaining unit 801 to obtain the public network sending address from the SIP signaling.
Or, the private network terminal in the embodiment of the present invention may further include:
a third receiving unit 805, configured to receive a unidirectional code stream transmission request sent by a public network terminal, where the unidirectional code stream transmission request may be sent by the public network terminal through an SIP signaling;
a second sending unit 806, configured to send, after a preset time period elapses after receiving a request for transmitting a unidirectional code stream sent by a public network terminal, an address request to the public network terminal through an SIP signaling if the unidirectional code stream sent by the public network terminal is not received, where the address request is used to request the public network terminal to return to a public network sending address;
a fourth receiving unit 807, configured to receive the SIP signaling containing the public network sending address sent by the public network terminal according to the address request, and trigger the obtaining unit 801 to obtain the public network sending address from the SIP signaling.
For convenience of understanding, a specific interaction process of each unit of the private network terminal in the embodiment of the present invention is described in a specific application scenario as follows:
after the SIP communication between the private network terminal and the public network terminal is established, the first receiving unit 803 in the private network terminal receives the unidirectional code stream transmission request sent by the public network terminal, and triggers the acquiring unit 801 to acquire the public network sending address from the unidirectional code stream transmission request.
If the request for transmitting the unidirectional code stream does not carry the public network sending address, the second receiving unit 804 in the private network terminal may receive an SIP signaling containing the public network sending address sent by the public network terminal, and trigger the obtaining unit 801 to obtain the public network sending address from the SIP signaling.
The private network terminal may further obtain the public network sending address through the third receiving unit 805, the second sending unit 806, and the fourth receiving unit 807: the third receiving unit 805 receives a unidirectional code stream transmission request sent by a public network terminal, where the unidirectional code stream transmission request does not carry a public network sending address; after a preset duration, if the unidirectional code stream sent by the public network terminal is not received, the second sending unit 806 of the private network terminal may send an address request to the public network terminal, where the address request is used to request the public network terminal to return a public network sending address; when the public network terminal uses the INFO message to return to the public network sending address, the fourth receiving unit 807 of the private network terminal receives the SIP signaling containing the public network sending address sent by the public network, and triggers the obtaining unit 801 to obtain the public network sending address from the SIP signaling.
After the public network transmission address is obtained, the first transmission unit 802 transmits a survival packet to the public network transmission address of the public network terminal through the NAT device every preset period, so that the NAT device establishes or maintains a mapping relationship between the private network address and the public network transmission address, and the preset period is less than the failure time of the corresponding mapping relationship in the NAT device.
Referring to fig. 9, a logic structure of an embodiment of a public network terminal of the present invention for executing the data transmission method is described below, where an embodiment of a public network terminal in the embodiment of the present invention includes:
an address sending unit 901, configured to send a public network sending address to a private network terminal after SIP communication between the private network terminal and the terminal is established;
a receiving processing unit 902, configured to receive a live packet sent by a private network terminal through a public network sending address, and discard the received live packet.
The address sending unit 901 in this embodiment of the present invention may further include:
the first request sending module 9011 is configured to send a unidirectional code stream transmission request to the private network terminal through an SIP signaling, where the unidirectional code stream transmission request carries a public network sending address.
Or, the address sending unit 901 in the embodiment of the present invention may further include:
the first address sending module 9012 is configured to actively send an SIP signaling containing a public network sending address to the private network terminal.
Or, the address sending unit 901 in the embodiment of the present invention may further include:
a second request sending module 9013, configured to send a request for transmitting a unidirectional code stream to the private network terminal through an SIP signaling;
a request receiving module 9014, configured to receive an address request sent by a private network terminal;
a second address sending module 9015, configured to send, to the private network terminal, an SIP signaling containing a public network sending address according to the address request.
The specific interaction process of each unit of the public network terminal in the embodiment of the invention is as follows:
after SIP communication between the private network terminal and the public network terminal is established, the first request sending module 9011 of the public network terminal can send a unidirectional code stream transmission request containing a public network sending address to the private network terminal through an SIP signaling;
or, the first address sending module 9012 of the public network terminal actively sends an SIP signaling containing a public network sending address to the private network terminal;
or, after the second request sending module 9013 sends the unidirectional code stream transmission request not carrying the public network sending address to the private network terminal, the request receiving module 9014 of the public network terminal receives the address request sent by the private network terminal, and the second address sending module 9015 of the public network terminal sends the SIP signaling containing the public network sending address to the private network terminal according to the address request.
The receiving processing unit 902 receives a survival packet sent by the private network terminal through the NAT device after the private network terminal acquires the public network sending address and sends the survival packet to the public network terminal through the public network sending address. Since the purpose of sending the alive packet by the private network terminal is to establish or maintain the mapping relationship between the private network terminal and the public network terminal in the NAT device, the receiving processing unit 902 may directly discard the alive packet after receiving the alive packet.
Referring to fig. 10, a logic structure of an embodiment of a data transmission system according to the present invention for executing the data transmission method is described below, where the embodiment of the data transmission system according to the present invention includes:
the private network terminal 1001 is used for acquiring a public network sending address after SIP communication with the public network terminal 1003 is established, wherein the public network sending address is an address of the public network terminal 1003 sending a code stream to the terminal, and a survival packet is sent to the public network sending address every other preset period, so that the NAT equipment 1002 establishes or maintains a mapping relation between the private network address of the terminal and the public network sending address according to the survival packet, and the preset period is less than the failure time of the mapping relation;
the NAT device 1002 is configured to convert a network address between the private network terminal 1001 and the public network terminal 1003, receive a survival packet sent by the private network terminal 1001, and establish or maintain a mapping relationship between a private network address of the private network terminal 1001 and a public network sending address according to the survival packet;
the public network terminal 1003 is configured to send a public network transmission address to the private network terminal 1001 after SIP communication between the terminal and the private network terminal 1001 is established, receive a live packet sent by the private network terminal 1001 through the public network transmission address, and discard the received live packet.
The system described above applies to the application scenario described in the embodiment shown in fig. 5.
Referring to fig. 10, a logic structure of another embodiment of the data transmission system of the present invention for executing the data transmission method is described below, where the another embodiment of the data transmission system in the embodiment of the present invention includes:
the private network terminal 1001 is used for determining a first communication port and a second communication port with the public network terminal 1003 after SIP communication between the terminal and the public network terminal 1003 is established, the first communication port is a preset communication port of the terminal after negotiation, the second communication port is a preset communication port of the public network terminal 1003 after negotiation, and when code streams of various media types need to be sent to the public network terminal 1003, the first communication port is multiplexed to send the code streams to the second communication port of the public network terminal 1003;
a NAT device 1002 for converting a network address between the private network terminal 1001 and the public network terminal 1003;
the public network terminal 1003 is configured to determine a first communication port and a second communication port with the private network terminal 1001 after SIP communication between the terminal and the private network terminal 1001 is established, and multiplex the second communication port to send a code stream to the first communication port of the private network terminal 1001 when the code stream of various media types needs to be sent to the private network terminal 1001.
The above system is applied to the application scenarios as described in the embodiments of fig. 6 or 7.
It will be understood by those skilled in the art that all or part of the steps in the method for implementing the above embodiments may be implemented by hardware that is related to instructions of a program, and the program may be stored in a computer-readable storage medium, where the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The data transmission method, the related device and the system thereof provided by the present invention are described in detail above, and for those skilled in the art, the idea of the embodiment of the present invention may be changed in the specific implementation and application scope, therefore, the content of the present specification should not be construed as limiting the present invention.

Claims (5)

1. A method of data transmission, comprising:
after Session Initiation Protocol (SIP) communication between a private network terminal and a public network terminal is established, the private network terminal determines a first communication port and a second communication port with the public network terminal through an SIP signaling, the first communication port is a preset communication port of the private network terminal after negotiation, and the second communication port is a preset communication port of the public network terminal after negotiation;
when the private network terminal needs to send a media code stream to the public network terminal, the private network terminal multiplexes the first communication port to send the code stream to the second communication port of the public network terminal;
wherein,
the code stream comprises at least one data packet;
the data packet comprises an attribute identifier, at least one media data and a real-time transmission protocol file header, wherein the attribute identifier is used for distinguishing different media data, and the different media data distinguished by the attribute identifier comprise video, audio, auxiliary stream and remote camera control data; multiplexing the same communication port when all media data types are transmitted and received;
wherein the method further comprises:
the private network terminal receives a code stream sent by an opposite terminal;
and the private network terminal distinguishes different media data according to the attribute identification carried by the data packet in the code stream and respectively carries out corresponding processing on the different media data.
2. A method of data transmission, comprising:
after Session Initiation Protocol (SIP) communication between a public network terminal and a private network terminal is established, the public network terminal determines a first communication port and a second communication port with the private network terminal through an SIP signaling, the first communication port is a preset communication port of the private network terminal after negotiation, and the second communication port is a preset communication port of the public network terminal after negotiation;
when the public network terminal needs to send a media code stream to the private network terminal, the public network terminal multiplexes the second communication port to send the code stream to the first communication port of the private network terminal;
wherein,
the code stream comprises at least one data packet;
the data packet comprises an attribute identifier, at least one media data and a real-time transmission protocol file header, wherein the attribute identifier is used for distinguishing different media data, and the different media data distinguished by the attribute identifier comprise video, audio, auxiliary stream and remote camera control data; multiplexing the same communication port when all media data types are transmitted and received;
wherein the method further comprises:
the public network terminal receives a code stream sent by an opposite terminal;
and the public network terminal distinguishes different media data according to the attribute identification carried by the data packet in the code stream, and respectively carries out corresponding processing on the different media data.
3. A data transmission apparatus, applied to a private network terminal, the data transmission apparatus comprising:
a module, configured to determine, after session initiation protocol SIP communication between the private network terminal and the public network terminal is established, a first communication port and a second communication port with the public network terminal through SIP signaling, where the first communication port is a preset communication port of the private network terminal after negotiation, and the second communication port is a preset communication port of the public network terminal after negotiation;
a module for multiplexing the first communication port to send a code stream to the second communication port of the public network terminal when the private network terminal needs to send a media code stream to the public network terminal;
wherein the code stream comprises at least one data packet; the data packet comprises an attribute identifier, at least one media data and a real-time transmission protocol file header, wherein the attribute identifier is used for distinguishing different media data, and the different media data distinguished by the attribute identifier comprise video, audio, auxiliary stream and remote camera control data; multiplexing the same communication port when all media data types are transmitted and received;
wherein the data transmission device further comprises:
a module for receiving the code stream sent by the public network terminal;
and the module is used for distinguishing different media data according to the attribute identification carried by the data packet in the code stream and respectively carrying out corresponding processing on the different media data.
4. A data transmission apparatus, which is applied to a public network terminal, the data transmission apparatus comprising:
a module for determining a first communication port and a second communication port with a private network terminal through an SIP signaling after Session Initiation Protocol (SIP) communication between the public network terminal and the private network terminal is established, wherein the first communication port is a preset communication port of the private network terminal after negotiation, and the second communication port is a preset communication port of the public network terminal after negotiation;
a module for multiplexing the second communication port to send a code stream to the first communication port of the private network terminal when the public network terminal needs to send a media code stream to the private network terminal;
wherein,
the code stream comprises at least one data packet;
the data packet comprises an attribute identifier, at least one media data and a real-time transmission protocol file header, wherein the attribute identifier is used for distinguishing different media data, and the different media data distinguished by the attribute identifier comprise video, audio, auxiliary stream and remote camera control data; multiplexing the same communication port when all media data types are transmitted and received;
wherein the data transmission device further comprises:
a module for receiving a code stream sent by an opposite terminal;
and the module is used for distinguishing different media data according to the attribute identification carried by the data packet in the code stream and respectively carrying out corresponding processing on the different media data.
5. A data transmission system, comprising:
the private network terminal is used for determining a first communication port and a second communication port with the public network terminal after SIP communication between the terminal and the public network terminal is established, wherein the first communication port is a preset communication port of the terminal after negotiation, the second communication port is a preset communication port of the public network terminal after negotiation, and when a media code stream needs to be sent to the public network terminal, the first communication port is multiplexed to send the code stream to the second communication port of the public network terminal;
NAT equipment, which is used for converting the network address between the private network terminal and the public network terminal;
the public network terminal is used for determining a first communication port and a second communication port with the private network terminal after SIP communication between the terminal and the private network terminal is established, and multiplexing the second communication port to send a code stream to the first communication port of the private network terminal when a media code stream needs to be sent to the private network terminal;
the code stream comprises at least one data packet;
the data packet comprises an attribute identifier, at least one media data and a real-time transmission protocol file header, wherein the attribute identifier is used for distinguishing different media data, and the different media data distinguished by the attribute identifier comprise video, audio, auxiliary stream and remote camera control data; multiplexing the same communication port when all media data types are transmitted and received;
the private network terminal and the public network terminal respectively receive code streams sent by opposite terminals;
and the private network terminal and the public network terminal distinguish different media data according to the attribute identification carried by the data packet in the code stream, and respectively perform corresponding processing on the different media data.
CN201510487760.4A 2010-11-15 2010-11-15 A kind of data transmission method, relevant apparatus and its system Active CN105141710B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510487760.4A CN105141710B (en) 2010-11-15 2010-11-15 A kind of data transmission method, relevant apparatus and its system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010544015.6A CN102469172B (en) 2010-11-15 2010-11-15 A kind of data transmission method, relevant apparatus and system thereof
CN201510487760.4A CN105141710B (en) 2010-11-15 2010-11-15 A kind of data transmission method, relevant apparatus and its system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201010544015.6A Division CN102469172B (en) 2010-11-15 2010-11-15 A kind of data transmission method, relevant apparatus and system thereof

Publications (2)

Publication Number Publication Date
CN105141710A CN105141710A (en) 2015-12-09
CN105141710B true CN105141710B (en) 2019-03-01

Family

ID=46072323

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201010544015.6A Active CN102469172B (en) 2010-11-15 2010-11-15 A kind of data transmission method, relevant apparatus and system thereof
CN201510487760.4A Active CN105141710B (en) 2010-11-15 2010-11-15 A kind of data transmission method, relevant apparatus and its system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201010544015.6A Active CN102469172B (en) 2010-11-15 2010-11-15 A kind of data transmission method, relevant apparatus and system thereof

Country Status (1)

Country Link
CN (2) CN102469172B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102801725B (en) * 2012-08-06 2016-01-20 苏州工业园区云视信息技术有限公司 The method of audio-video frequency media transmission is carried out in SIP audio/video conference
CN104660546B (en) * 2013-11-18 2018-01-19 北京信威通信技术股份有限公司 A kind of method of the transmitting-receiving RTP bags based on SSRC
CN103944760B (en) * 2014-04-17 2017-07-04 新华三技术有限公司 The network management and device of a kind of passing through NAT
CN112866438B (en) * 2021-03-26 2022-07-22 新华三信息安全技术有限公司 Address allocation method and device and address allocation server
CN115174537B (en) * 2022-06-30 2023-07-21 重庆长安汽车股份有限公司 Double-screen interaction method and system for vehicle-computer interaction

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1863138A (en) * 2005-05-12 2006-11-15 中兴通讯股份有限公司 Method for implementing multimedia service NAT transition
CN101119270A (en) * 2007-09-14 2008-02-06 华中科技大学 Network boundary processing method
CN101252605A (en) * 2008-04-03 2008-08-27 杭州华三通信技术有限公司 Multimedia communication method, system and apparatus traversing network address conversion equipment
CN101262502A (en) * 2003-09-02 2008-09-10 华为技术有限公司 Method for realizing multimedia protocol penetration network address conversion device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8085741B2 (en) * 2004-03-10 2011-12-27 Core Wireless Licensing S.A.R.L. System and method for pushing content to a terminal utilizing a network-initiated data service technique
CN101119299A (en) * 2006-08-02 2008-02-06 华为技术有限公司 Method for conducting media stream, conduction detection method and system thereof
CN1946062A (en) * 2006-10-10 2007-04-11 华为数字技术有限公司 Method and system for keep-alive conversation table in NAT device
CN100558081C (en) * 2007-01-29 2009-11-04 华为技术有限公司 Method and system for keeping alive address forwarding entries
ES2704473T3 (en) * 2009-02-06 2019-03-18 Xmedius Solutions Inc Crossing of NAT using hole drilling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101262502A (en) * 2003-09-02 2008-09-10 华为技术有限公司 Method for realizing multimedia protocol penetration network address conversion device
CN1863138A (en) * 2005-05-12 2006-11-15 中兴通讯股份有限公司 Method for implementing multimedia service NAT transition
CN101119270A (en) * 2007-09-14 2008-02-06 华中科技大学 Network boundary processing method
CN101252605A (en) * 2008-04-03 2008-08-27 杭州华三通信技术有限公司 Multimedia communication method, system and apparatus traversing network address conversion equipment

Also Published As

Publication number Publication date
CN102469172B (en) 2015-08-19
CN102469172A (en) 2012-05-23
CN105141710A (en) 2015-12-09

Similar Documents

Publication Publication Date Title
US9083585B2 (en) Retransmission-based stream repair and stream join
EP2449749B1 (en) Method and apparatus for relaying packets
US10911413B2 (en) Encapsulating and tunneling WebRTC traffic
CN105141710B (en) A kind of data transmission method, relevant apparatus and its system
WO2007036160A1 (en) An apparatus, system and method for realizing communication between the client and the server
US8971311B2 (en) Methods, systems and computer readable media for supporting a plurality of real-time transport protocol (RTP) multiplexing enablement methods in a media gateway
CN101860536A (en) A private network traversal system and method based on SIP soft terminal
US9647982B2 (en) Peer tunneling for real-time communications
WO2011076041A1 (en) Method, device and system for call establishment
WO2015096302A1 (en) Nat traversal method based on sip media capability re-negotiation, proxy server and system
WO2008037202A1 (en) Method and apparatus for transmitting data
US9374264B2 (en) System and method for transmitting and receiving session initiation protocol messages
CN104519304B (en) Terminal point information interaction processing method, device and endpoint is remotely presented
CN102378064A (en) Method and device for realizing traversal of network address translators (NAT) in internet protocol television (IPTV) network
CN110636029B (en) Communication method and communication device
CN109889516B (en) Method and device for establishing session channel
CN110086772B (en) Method and system for acquiring monitoring video
CN1610349B (en) Real-time information transmitting method
CN100571189C (en) Method for Realizing Communication Between Devices in Network
US20060190992A1 (en) Facilitating Bi-directional communications between clients in heterogeneous network environments
TW202249463A (en) System and method for cellular data communication network
JP2008252263A (en) TRANSMISSION/RECEPTION SYSTEM OF Ethernet FRAME AND ITS TRANSMISSION/RECEPTION CONVERTER
CN110086983B (en) A video networking terminal control method and device based on IE plug-in
KR20120059165A (en) Image control system for using a complex network and driving method for the same
CN110086984B (en) A video networking terminal control method and device based on IE plug-in

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 518129 Building 2, B District, Bantian HUAWEI base, Longgang District, Shenzhen, Guangdong.

Applicant after: Huawei terminal (Shenzhen) Co.,Ltd.

Address before: 518129 Building 2, B District, Bantian HUAWEI base, Longgang District, Shenzhen, Guangdong.

Applicant before: HUAWEI DEVICE Co.,Ltd.

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20181218

Address after: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Applicant after: HUAWEI DEVICE Co.,Ltd.

Address before: 518129 Building 2, B District, Bantian HUAWEI base, Longgang District, Shenzhen, Guangdong.

Applicant before: Huawei terminal (Shenzhen) Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant