WO2015096302A1 - Procédé de traversée de nat basé sur une renégociation de capacités multimédia sous sip, serveur mandataire et système - Google Patents

Procédé de traversée de nat basé sur une renégociation de capacités multimédia sous sip, serveur mandataire et système Download PDF

Info

Publication number
WO2015096302A1
WO2015096302A1 PCT/CN2014/075265 CN2014075265W WO2015096302A1 WO 2015096302 A1 WO2015096302 A1 WO 2015096302A1 CN 2014075265 W CN2014075265 W CN 2014075265W WO 2015096302 A1 WO2015096302 A1 WO 2015096302A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
public network
port number
network address
media
Prior art date
Application number
PCT/CN2014/075265
Other languages
English (en)
Chinese (zh)
Inventor
姚刚
张强
刘志鹏
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2015096302A1 publication Critical patent/WO2015096302A1/fr

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
    • 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/2589NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]
    • 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/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • 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/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • 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

Definitions

  • the present invention relates to the field of NAT traversing technology, and in particular to a NAT traversal method, a proxy server and a system based on SIP media capability re-coordination. Background technique
  • the existing SIP (Session Initiation Protocol) traversal NAT (Network Address Translation) technology is mainly based on the following ideas:
  • the SIP signaling channel passes through the NAT through the registration request of the terminal, and is subsequently maintained by the registration refresh. Signaling channel. All subsequent signaling messages sent by the terminal share the registration channel transmission, and the server transmits the message along the reverse path of the registration channel.
  • the media stream also uses a similar technology.
  • the terminal sends an RTP (eal-time transport protocol) packet to the server.
  • the NAT will open a port for the RTP stream, and then the server will follow the direction of the RTP stream.
  • the path sends a TP packet.
  • the terminal interacts with the STU server to determine the public network address and port number assigned to them by the NAT;
  • the TURN (traversal using Relay NAT) protocol is a way to pass through the NAT through the relay mode.
  • the packets sent by the private network terminal are relayed and forwarded by the TURN server.
  • ICE Interactive Connectivity Establishment
  • SBC Session Border Controller
  • the existing network needs to be modified.
  • the terminal must support the STU, TURN or ICE protocol, and deploy the traversal server (unlike the normal NAT device, it needs to be deployed independently), which implements STUN or TURN server or SBC functions are costly.
  • the embodiments of the present invention provide a NAT traversal method, a proxy server, and a system based on SIP media capability renegotiation.
  • the embodiment of the present invention provides a method for NAT traversal based on SIP media capability re-negotiation. At least one of the first terminal and the second terminal is located on the private network, and the proxy server is located on the public network.
  • the method includes:
  • the proxy server receives the media code streams from the first terminal and the second terminal, respectively, and obtains the public network address and the public network port number of the first terminal and the second terminal;
  • the proxy server initiates the media capability renegotiation, and notifies the obtained public network address and the public network port number of the first terminal to the second terminal, and obtains the public network address of the second terminal and the public network.
  • the port number is notified to the first terminal.
  • the embodiment of the invention further provides a proxy server, where the proxy server is located on the public network, and includes:
  • An acquiring module configured to receive a media code stream from the first terminal and the second terminal, respectively, and obtain a public network address and a public network port number of the first terminal and the second terminal; the first terminal and the second terminal At least one of the terminals is located on the private network;
  • a media capability renegotiation module configured to initiate a media capability renegotiation, to notify the second terminal of the acquired public network address and the public network port number of the first terminal, and obtain the public network of the second terminal The address and the public network port number are notified to the first terminal.
  • the embodiment of the present invention further provides a NAT traversal system based on SIP media capability re-negotiation, including the foregoing proxy server, the first terminal, and the second terminal, where:
  • the proxy server is configured to receive the media code streams from the first terminal and the second terminal respectively, and obtain the public network address and the public network port number of the first terminal and the second terminal; Notifying, to the second terminal, the obtained public network address and the public network port number of the first terminal, and notifying the obtained public network address and the public network port number of the second terminal to the first terminal Terminal
  • the first terminal is configured to send a media code stream to a public network address and a public network port number of the second terminal;
  • the second terminal is configured to send a media code stream to a public network address and a public network port number of the first terminal.
  • An embodiment of the present invention further provides a NAT traversal device based on SIP media capability re-negotiation, where the device includes a hardware processing server, where:
  • the hardware processing server is configured to receive the media code streams from the first terminal and the second terminal respectively, and obtain the public network address and the public network port number of the first terminal and the second terminal; Re-negotiating, notifying the obtained second network address and the public network port number of the first terminal to the second terminal, and notifying the obtained public network address and the public network port number of the second terminal to the a terminal.
  • the proxy server In the NAT traversal method, the proxy server, and the system based on the SIP media capability re-negotiation, at least one of the first terminal and the second terminal is located in the private network, and the proxy server is located in the public network; the proxy server receives the first from the first a media stream of the terminal and the second terminal, and obtaining a public network address and a public network port number of the first terminal and the second terminal; the proxy server initiates the media
  • the capability re-negotiation is to notify the second terminal of the obtained public network address and the public network port number of the first terminal, and notify the first terminal of the obtained public network address and public network port number of the second terminal.
  • the first terminal and the second terminal can directly communicate based on the public network address of the opposite party and the public network port number, and do not need to be forwarded by the proxy server; in addition, the implementation of the foregoing technical solution is based on the existing network architecture, and does not need to be performed thereon. Improvements, as well as direct communication between terminals without the need to set up a dedicated traversal server, saves costs. DRAWINGS
  • FIG. 1 is a schematic diagram of a NAT traversal process based on SIP media capability re-negotiation according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of media capability negotiation according to Embodiment 1 of the present invention.
  • FIG. 3 is a schematic diagram of receiving a media code stream by a proxy server according to Embodiment 1 of the present invention
  • FIG. 4 is a schematic diagram of media capability re-negotiation according to Embodiment 1 of the present invention.
  • FIG. 5 is a schematic diagram of media capability negotiation according to Embodiment 2 of the present invention.
  • FIG. 6 is a schematic diagram of a proxy server receiving a media code stream according to Embodiment 2 of the present invention.
  • FIG. 7 is a schematic diagram of media capability re-negotiation according to Embodiment 2 of the present invention.
  • FIG. 8 is a schematic structural diagram of a proxy server according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic diagram of a NAT traversal system based on SIP media capability re-negotiation according to an embodiment of the present invention. detailed description
  • the terminal device can be notified by means of media capability renegotiation to inform the peer of the media stream to send and receive addresses and port numbers.
  • media capability renegotiation As long as the terminal does not change the media stream transceiver port of the local end during media capability renegotiation, NAT traversal of the media code stream can be implemented.
  • the general process is as follows: The proxy server (which is a mandatory network element in the SIP conference system, responsible for terminal registration, signaling forwarding, etc., which does not have the NAT traversal function itself) receives the first transmission by the first terminal.
  • the media stream data packet learns the public network address and the public network port number of the terminal, and then, on the corresponding call session, the proxy server initiates media capability re-negotiation (reinvite message or update message) to the opposite terminal (second terminal).
  • the corresponding SDP Session Description Protocol
  • the proxy server receives the first media stream packet of the second terminal. Then, the media capability re-negotiation is also initiated to the first terminal, and the corresponding SDP information carries the public network address and the public network port number of the second terminal, so that the media capability re-negotiation is completed.
  • the first terminal and the second terminal can directly send the media code stream through the public network address and the public network port number of the other party, and do not need to be forwarded by the proxy server, thereby realizing direct transmission of the media code stream between the terminals, thereby greatly improving efficiency.
  • the above process is based on the existing network architecture, eliminating the need to deploy a dedicated traversal server, saving costs.
  • the embodiment of the present invention provides a NAT traversal scheme based on SIP media capability renegotiation, in which: at least one of the first terminal and the second terminal is located in the private network, the proxy The server is located on the public network.
  • the detailed implementation process includes: Step 101: The proxy server receives the media code streams from the first terminal and the second terminal, respectively, and obtains a public network address and a public network port number of the first terminal and the second terminal.
  • the proxy server assigns a port number to the first terminal and the second terminal, and notifies the second terminal of the port number assigned to the first terminal, and notifies the port number assigned to the second terminal to the second terminal.
  • the proxy server listens on the port number assigned to the second terminal, and receives the media code stream from the first terminal; listens to the port number assigned to the first terminal, and receives the media code stream from the second terminal;
  • the proxy server extracts and records the public network address and the public network port number of the first terminal or the second terminal from the media code stream from the first terminal or the second terminal (the media code stream here is the first terminal and the second terminal
  • the first media stream sent by the proxy server specific:
  • the public network address and the public network port number of the first terminal or the second terminal are converted by the corresponding private network address and the private network port number, specifically: in the NAT device.
  • the source address and the source port number (that is, the private network address and the private network port number) are converted into a public network address and a public network port number;
  • the source address and the source port number of the corresponding media code stream are the public network address and the public network port number of the first terminal or the second terminal.
  • the proxy server establishes a mapping relationship between the public network address of the first terminal, the public network port number, the public network address of the second terminal, and the public network port number.
  • the foregoing media capability negotiation process includes: the proxy server receives the request message from the first terminal, allocates a port number to the first terminal, and forwards the request message to the second terminal; and the request message forwarded to the second terminal carries the proxy server a network address and a port number assigned to the first terminal; the proxy server receives the response message from the second terminal, assigns a port number to the second terminal, and forwards the response message to the first terminal; and forwards the response message to the first terminal
  • Step 102 The proxy server initiates the media capability renegotiation, and notifies the obtained second public terminal address and the public network port number of the first terminal to the second terminal, and notifies the obtained public network address and public network port number of the second terminal to the second terminal. a terminal.
  • the proxy server initiates media capability re-negotiation to the first terminal and the second terminal by using the request message; the request message sent to the first terminal carries the public network address and the public network port number of the second terminal; The request message to the second terminal carries the public network address and the public network port number of the first terminal.
  • Terminal A is in a fully conical NAT
  • terminal B and Proxy proxy server are located in the public network.
  • the implementation process of direct media code stream transmission between terminals A and B includes the following stages: 1. media capability negotiation between terminals; 2. proxy server receives media code stream; 3 media capability re-negotiation between terminals .
  • Figure 2 shows the media capability negotiation process between terminals, including:
  • the terminal A initiates a request call (for example, the request message may be an Invite message), and the SDP information carries the local media capability.
  • the information describing the media capabilities in the SDP information of the embodiment of the present invention is: c lines, m lines. Among them, the c line carries the connection information; the m line carries the media name and the transmission address. In this step, the c line carries the local address of the terminal A (here, the private network address of the terminal A), and the m line carries the local port number of each type of media stream (such as audio, video, picture, etc.) of the terminal A (here Terminal A's private network port number).
  • the Invite message reaches the Proxy through the NAT device. Because the media stream has not been established, the proxy cannot obtain the public network address and public network port number of the terminal A. In order to allow the media code stream from the terminal A to pass the proxy, the proxy allocates a new terminal A. The port number, then the proxy needs to forward the Invite message to the terminal B: Since the terminal B and the proxy are located in the public network, the Proxy already knows the address and port number of the terminal B during the registration phase (here, the signaling address and port) Number, with the media The sending and receiving addresses are different from the port number. Therefore, the Proxy can directly forward the Invite message from the terminal A to the terminal B. In the Invite message forwarded to the terminal B, the SDP information in the C line carries the address replaced with the public network address of the Proxy, and the port number carried in the m line is replaced with the new port number assigned by the Proxy to the terminal A.
  • the terminal B After receiving the Invite message forwarded by the Proxy, the terminal B returns a response message (for example, a 200 OK message) to the Proxy, where the SDP information c line carries the local address of the terminal B (here, the public network address), and the m line carries The local port number of terminal B (here, the public network port number).
  • a response message for example, a 200 OK message
  • the Proxy Since the media stream has not been established, the Proxy cannot obtain the public network address and the public network port number of the terminal B. In order to allow the media stream from the terminal B to pass the Proxy, the Proxy assigns a new port number to the terminal B, and then sets the 200 OK. The message is forwarded to the terminal A.
  • the public network address of the terminal B carried in the C line of the SDP information is replaced with the public network address of the proxy.
  • the public network port number of the terminal B carried in the m line is replaced with the new one assigned by the proxy to the terminal B. The port number.
  • the terminal A After the terminal A receives the 200 OK message forwarded by the proxy, the media capability negotiation between the terminals A and B is completed, the terminal A returns a response message (for example, an ACK message), and the proxy forwards the ACK to the terminal B, and the call connection is established.
  • a response message for example, an ACK message
  • the Proxy After the media capability negotiation process shown in FIG. 2, the Proxy starts listening on the port allocated for the terminal B, and receives the media code stream from the terminal A; listens on the port allocated for the terminal A, and receives the media code from the terminal B.
  • the terminal A sends the media code stream to the public network address of the Proxy and the port allocated by the Proxy to the terminal B according to the description of the SDP in the 200 OK message; and simultaneously listens to the local port at the local address (that is, the private network address) (ie, Private network port).
  • the media code stream sent by the terminal A needs to reach the Proxy through the NAT device.
  • the source address that is, the local address of the terminal A, in this embodiment is the private network address
  • the source port that is, the local port number of terminal A. This embodiment is the private network end.
  • the slogan is converted to obtain the public network address and the public network port number.
  • the proxy After receiving the media code stream sent by the terminal A, the proxy records the mapping relationship between the converted public network address, the public network port number, and the terminal A.
  • the Proxy discards the first media stream packet and does not forward it.
  • the terminal B sends the media code stream to the public network address of the Proxy and the port allocated by the proxy to the terminal A according to the description of the SDP in the Invite message.
  • the local port that is, the public network address
  • listens to the local port that is, the public).
  • Network port that is, the public).
  • the media stream sent by the terminal B can directly reach the proxy.
  • the proxy After receiving the media stream sent by the terminal B, the proxy records the source address and the source port number of the media stream, that is, the public network address and the public network port number of the terminal B. , the media stream packet Proxy is also not forwarded.
  • the proxy maps the recorded terminal A and the public network address, the public network port number, the public network address of the terminal B, and the public network port number, and records the mapping.
  • the media capability renegotiation process shown in FIG. 4 is performed:
  • the proxy In order to notify the other party of the public network address and the public network port number of the terminals A and B, the proxy initiates media capability renegotiation to the terminals A and B respectively through a request message (for example, a reinvite message).
  • a request message for example, a reinvite message
  • the Proxy sends a reinvite message to the terminal A.
  • the c line of the SDP information carries the public network address of the terminal B, and the m line carries the public network port number of the terminal B.
  • the Proxy sends a reinvite message to the terminal B.
  • the c line of the SDP information carries the public network address of the terminal A, and the m line carries the public network port number of the terminal A.
  • the address and port number of the media stream of the opposite end are updated, and the subsequent terminals A and B can directly send the media code stream to the media stream of the opposite end to send and receive addresses and ports.
  • the number can be achieved, the media stream of NAT is traversed, and no need to be forwarded by Proxy.
  • Scenario 2 Terminal A and terminal B are in a fully conical NAT, and the Proxy is located in the public network.
  • the implementation process of direct media code stream transmission between terminals A and B includes the following stages: 1. media capability negotiation between terminals; 2. proxy server receives media code stream; 3 media capability re-negotiation between terminals .
  • Figure 5 shows the media capability negotiation process between terminals, including:
  • Terminal A initiates an Invite call, and the SDP information carries the local media capability.
  • the c-line carries the local address of the terminal A (here, the private network address of the terminal A), and the m-line carries the local port number of each type of media stream (such as audio, video, picture, etc.) of the terminal A (here, the private address of the terminal A) Network port number).
  • the Invite message reaches the Proxy through the NAT device. Because the media stream has not been established, the proxy cannot obtain the public network address and the public network port number sent and received by the media stream of the terminal A. In order to allow the media stream from the terminal A to pass the Proxy, Proxy A new port number is assigned to terminal A, and then the proxy needs to forward the Invite message to terminal B, and the message arrives at terminal B through the NAT device.
  • the SDP information in the Invite message forwarded to the terminal B is replaced by the public network address of the proxy.
  • the port number carried in the m line is replaced with the new port number assigned by the proxy to the terminal A.
  • the terminal B After receiving the Invite message forwarded by the proxy, the terminal B returns a 200 OK message to the Proxy, where the SDP information c line carries the local address of the terminal B (here, the private network address), and the m line carries the local port of the terminal B. No. (here is the private network port number).
  • the 200 OK message arrives at the Proxy through the NAT device. Since the media stream has not been established, the proxy cannot obtain the public network address and the public network port number of the terminal B. In order to allow the media code stream from the terminal B to pass the proxy, the proxy allocates the terminal B. The new port number is then forwarded to the terminal A via the NAT device. The SDP information in the 200 OK message forwarded to the terminal A is changed to the public network address of the proxy, and the port number carried in the m line is replaced with the new port number assigned by the proxy to the terminal B.
  • the Proxy starts listening on the port allocated for the terminal B, and receives the media code stream from the terminal A; listens on the port allocated for the terminal A, and receives the media code from the terminal B.
  • the terminal A sends the media code stream to the public network address of the Proxy and the port allocated by the Proxy to the terminal B according to the description of the SDP in the 200 OK message; and simultaneously listens to the local port at the local address (that is, the private network address) (ie, Private network port).
  • the media code stream sent by the terminal A needs to reach the Proxy through the NAT device.
  • the source address that is, the local address of the terminal A, in this embodiment is the private network address
  • the source port that is, the local port number of the terminal A, which is the private network port number
  • the proxy After receiving the media code stream sent by the terminal A, the proxy records the converted public code. The mapping between the network address and the public network port number and terminal A.
  • the Proxy discards the first media stream packet and does not forward it.
  • the terminal B sends the media code stream to the public network address of the Proxy and the port allocated by the proxy to the terminal A according to the description of the SDP in the Invite message.
  • the local port that is, the private network address
  • listens to the local port that is, the private port).
  • Network port
  • the media code stream sent by the terminal B needs to reach the Proxy through the NAT device.
  • the source address that is, the local address of the terminal B, which is a private network address
  • the number that is, the local port number of the terminal B, which is the private network port number
  • the proxy After receiving the media code stream sent by the terminal B, the proxy records the converted public code.
  • the mapping relationship between the network address, the public network port number, and the terminal B is also not forwarded for the media stream packet Proxy.
  • the proxy maps the public network address of the terminal A, the public network port number, the public network address of the terminal B, and the public network port number, and records the mapping.
  • the media capability renegotiation process shown in FIG. 7 is performed: In order to notify the other party of the public network address and the public network port number of the terminals A and B, the proxy initiates media capability renegotiation to the terminals A and B through the reinvite message.
  • the Proxy sends a reinvite message to the terminal A.
  • the c line of the SDP information carries the public network address of the terminal B, and the m line carries the public network port number of the terminal B.
  • the Proxy sends a reinvite message to the terminal B.
  • the c line of the SDP information carries the public network address of the terminal A, and the m line carries the public network port number of the terminal A.
  • the public network address and the public network port number of the peer end are recorded, and the subsequent terminals A and B can directly send the media code stream to the peer public network.
  • the address and the public network port number can be used to implement NAT media stream traversal, and no need to be forwarded by Proxy.
  • Terminal A is located in a fully conical NAT.
  • the local address that is, the private network address is 10.1.1.2, the public network address mapped by NAT is 192.0.2.1 (the signaling address is the same as the media address); the local audio port is 10200, local video. The port is 10202.
  • Terminal B is located in a fully conical NAT.
  • the local address that is, the private network address is 10.0.0.3, and the public network address mapped by NAT is 192.0.2.3 (the signaling address is the same as the media address); the local audio port is 10000, local video.
  • the port is 10002.
  • the proxy is located on the public network and the public network address is 192.0.2.2.
  • the process of NAT traversal based on SIP media capability renegotiation includes:
  • the terminal A initiates an Invite call, and the SDP information carries the local media capability, where the c-line carries the local address of the terminal A, that is, the private network address is 10.1.1.2; the local audio port carried by the m-line is 10200, and the local video port is 10202, the related SDP is described as follows:
  • the Invite message reaches the Proxy through the NAT device. Since the media stream has not been established, the Proxy cannot obtain the public network sending and receiving address and port number corresponding to the media stream of the terminal A. In order to allow the media stream to pass the p r0X y, the Proxy A new audio port 8510, a new video port 8512, is assigned to the terminal A, and the address in the c-line of the SDP information is replaced with the public network address of the Proxy.
  • the SDP related description in the updated Invite message is as follows:
  • the Proxy forwards the Invite message to the terminal B, and the terminal B responds to the 200 OK message, where the SDP information carries the local media capability, where the c line carries the local address of the terminal B, that is, the private network address is 10.0.0.3, and the m line carries The local audio port is 10000 and the local video port is 10002.
  • the related SDP is described as follows:
  • the Proxy receives the 200 OK message from the terminal B. Since the media stream has not been established, the proxy cannot obtain the public network sending and receiving address and port number corresponding to the media stream of the terminal B, in order to allow the media stream to pass the Proxy, Proxy. Similarly, terminal B is assigned a new audio port 9510, a new video port 9512, and the address in the c-line of the SDP information is replaced with the public network address of the Proxy.
  • the SDP related description in the updated 200 OK message is as follows:
  • Terminal A receives the 200 OK message forwarded by the proxy, the media capability negotiation between the terminals A and B is completed, the terminal A returns an ACK message, the proxy forwards the ACK to the terminal B, and the call connection establishment is completed.
  • the Proxy starts listening on the 9510, 9512 ports and receives the terminal.
  • a media code stream listening on port 8510, 8512, receiving media code stream from terminal B;
  • terminal A After the call connection is established, terminal A sends the audio and video code streams to the address 192.0.2.2, port 9510, 9512 according to the description of SDP in the 200 OK message; and listens to 10200, 10202 at the local address 10.1.1.2. port.
  • the media code stream sent by the terminal A needs to pass through the NAT device to reach the proxy.
  • the source address ( 10.1.1.2 ) and the source port number ( 10200 , 10202 ) are converted.
  • the public network address is 192.0.2.1, and the public network port number is 38100 and 38102 respectively.
  • the proxy After receiving the media code stream sent by terminal A, the proxy records the mapping relationship between the translated public network address, port number, and terminal A. The Proxy discards the first media stream packet and does not forward it.
  • the terminal B sends the audio and video code streams to the address 192.0.2.2 according to the description of the SDP in the Invite message, and the port numbers are 8510 and 8512 respectively; and the local address 10.0.03 monitors 10000. , port 10002.
  • the media code stream sent by the terminal B needs to pass through the NAT device to reach the Proxy.
  • the source address ( 10.0.1.3 ) and the source port number ( 10000 , 10002 ) are converted.
  • the public network address is 192.0.2.3, and the public network port number is 39100 and 39102 respectively.
  • the proxy After receiving the media code stream sent by the terminal B, the proxy records the mapping relationship between the converted public network address, the port number, and the terminal B.
  • the code stream packet Proxy is also not forwarded.
  • the public network address corresponding to the terminal B recorded by the proxy is 192.0.2.3, and the public network port number is
  • the proxy in order to notify the terminal A of the public network address and the public network port number (that is, the destination address and the destination port number of the terminal A to send the media stream), the proxy initiates media capability re-negotiation to the terminal A through the reinvite message, reinvite
  • SDP Service Datagram Protocol
  • the public network address of the terminal A recorded by the proxy is 192.0.2.1, and the public network port numbers are 38100 and 38102 respectively, in order to use the public network address and the public network port number (that is, the destination address of the terminal B to send the media stream)
  • the destination port number is notified to the terminal B.
  • the proxy initiates media capability re-negotiation to the terminal B through the reinvite message.
  • the SDP related description in the reinvite message is as follows:
  • Terminal A receives the reinvite message from the Proxy, stops sending the media stream to the Proxy (address 192.0.2.2, port number 9510, 9512), and starts to the public network address 192.0.2.3 corresponding to the terminal 8, the public network port number 39100. 39102 sends a media code stream; terminal B receives the reinvite message of the proxy, stops sending the media code stream to the proxy (address 192.0.2.2, port number 8510, 8512), and starts to the corresponding public network address 192.0.2.1 of terminal A, Port numbers 38100, 38102 send the media stream. At this point, terminal A and terminal B implement direct transmission of the media code stream, and no longer transit through the proxy.
  • the solution provided by the foregoing embodiment of the present invention can directly communicate between two terminal media through the Proxy under the premise of modifying the existing network device when the primary or the called party or one of the two parties is in the full cone NAT. It saves the cost of upgrading network equipment, reduces the delay of data transmission, reduces the load on the server, and improves efficiency.
  • the embodiment of the present invention further provides a proxy server 10, which is located on the public network.
  • the proxy server includes:
  • the obtaining module 11 is configured to receive the media code streams from the first terminal and the second terminal, respectively, and obtain the public network address and the public network port number of the first terminal and the second terminal; and at least the first terminal and the second terminal One is located on the private network;
  • the media capability renegotiation module 12 is configured to initiate media capability renegotiation, and notify the obtained second terminal of the public address and the public network port number of the first terminal to the second terminal, and obtain the public network of the second terminal. The address and the public network port number are notified to the first terminal.
  • the proxy server further includes: a port assignment module 13 configured to allocate a port number to the first terminal and the second terminal respectively through the media capability negotiation process, and notify the second terminal of the port number assigned to the first terminal, which is to be The port number assigned by the second terminal is notified to the first terminal;
  • the monitoring module 14 is configured to listen to the port number assigned to the second terminal, and receive the media code stream from the first terminal; listen to the port number assigned to the first terminal, and receive the media code stream from the second terminal;
  • the obtaining module 11 is further configured to extract and record the public network address and the public network port number of the first terminal or the second terminal from the media code stream from the first terminal or the second terminal. Specifically: when the first terminal or the second terminal is located in the private network, the public network address and the public network port number of the first terminal or the second terminal are converted by the corresponding private network address and the private network port number, specifically: When the NAT device intercepts the media stream sent by the first terminal or the second terminal to the proxy server, the source address and the source port number (that is, the private network address and the private network port number) are converted into the public network address and the public network. Port number; The source address and source port number of the corresponding media stream are the public network address and the public network port number of the first terminal or the second terminal when the first terminal or the second terminal is located on the public network.
  • the interaction module 15 is configured to receive the request message from the first terminal, notify the port assignment module 13 to assign a port number to the first terminal, and forward the request message to the second terminal; the request message forwarded to the second terminal carries the proxy server a public network address and a port number assigned to the first terminal; configured to receive a response message from the second terminal, notify the port assignment module 13 to assign a port number to the second terminal, and forward the response message to the first terminal; The response message to the first terminal carries the public network address of the proxy server and the port number assigned to the second terminal.
  • the mapping module 16 is configured to establish a mapping relationship between the public network address of the first terminal, the public network port number, the public network address of the second terminal, and the public network port number.
  • the media capability renegotiation module 12 is further configured to initiate media capability re-negotiation to the first terminal and the second terminal by using the request message respectively; the request message sent to the first terminal carries the public network address and the public network port number of the second terminal The request message sent to the second terminal carries the first terminal Public network address and public network port number.
  • the foregoing obtaining module 11, the media capability renegotiation module 12, the port allocating module 13, the listening module 14, and the interaction module 15 may be implemented by a chip having a communication and processing function in the proxy server, and the mapping module 16 may be configured by The central processing unit (CPU) of the proxy server, the processor (MPU, Micro Processing Unit) or the digital signal processor (DSP) is implemented.
  • CPU central processing unit
  • MPU Micro Processing Unit
  • DSP digital signal processor
  • the embodiment of the present invention further provides a NAT traversal system based on SIP media capability re-negotiation, including the proxy server 10, the first terminal 20, and the second terminal 30 shown in FIG. 8, wherein:
  • the proxy server 10 is configured to obtain the public network address and the public network port number of the first terminal 20 and the second terminal 30.
  • the public network address and the public network port of the first terminal 20 to be obtained are also configured to initiate the media capability renegotiation.
  • the notification is sent to the second terminal 30, and the obtained public address of the second terminal 30 and the public network port number are notified to the first terminal 20;
  • the first terminal 20 is configured to send a media stream to the public network address and the public network port number of the second terminal 30;
  • the second terminal 30 is configured to send the media code stream to the public network address and the public network port number of the first terminal 20.
  • the embodiment of the present invention further provides a NAT traversal device based on SIP media capability renegotiation, which includes a hardware processing server, configured to respectively receive media code streams from the first terminal and the second terminal, and acquire the first terminal and the second terminal.
  • the public network address and the public network port number of the terminal are also configured to initiate the media capability renegotiation, and notify the obtained second terminal of the public network address and the public network port number of the first terminal, and obtain the public network of the second terminal. The address and the public network port number are notified to the first terminal.
  • the SIP traversal method, the proxy server and the system based on the SIP media capability renegotiation of the present invention enable the first terminal and the second terminal to directly communicate based on the public network address of the other party and the public network port number, without forwarding by the proxy server;
  • the implementation of the above technical solution is based on the existing network architecture, no need to improve it, and no need to set up a special traversing server to realize direct communication between terminals, thereby saving cost.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

L'invention concerne un procédé de traversée de NAT basé sur une renégociation de capacités multimédia sous SIP, un serveur mandataire et un système. Un premier terminal et/ou un second terminal est/sont situé(s) dans un réseau privé, et le serveur mandataire est situé dans un réseau public. Le procédé consiste : en la réception, par un serveur mandataire, de flux de code multimédia provenant d'un premier terminal et d'un second terminal, respectivement, et en l'acquisition d'adresses réseau publiques et de numéros de port réseau publics du premier terminal et du second terminal ; et en le lancement, par le serveur mandataire, d'une renégociation de capacités multimédia, en la notification au second terminal de l'adresse réseau publique et du numéro de port réseau public acquis pour le premier terminal, et en la notification au premier terminal de l'adresse réseau publique et du numéro de port réseau public acquis pour le second terminal.
PCT/CN2014/075265 2013-12-25 2014-04-14 Procédé de traversée de nat basé sur une renégociation de capacités multimédia sous sip, serveur mandataire et système WO2015096302A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310728499.3 2013-12-25
CN201310728499.3A CN103916382B (zh) 2013-12-25 2013-12-25 基于sip媒体能力重协商的nat穿越方法、代理服务器和系统

Publications (1)

Publication Number Publication Date
WO2015096302A1 true WO2015096302A1 (fr) 2015-07-02

Family

ID=51041789

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/075265 WO2015096302A1 (fr) 2013-12-25 2014-04-14 Procédé de traversée de nat basé sur une renégociation de capacités multimédia sous sip, serveur mandataire et système

Country Status (2)

Country Link
CN (1) CN103916382B (fr)
WO (1) WO2015096302A1 (fr)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302846B (zh) * 2015-06-12 2019-05-28 华为技术有限公司 一种通信连接建立方法及装置、系统
CN105049545B (zh) * 2015-06-17 2018-02-02 广州云积软件技术有限公司 基于国家教育考试网上巡查系统视频标准下的流媒体nat穿越方法
CN105187567B (zh) * 2015-06-24 2019-01-08 东莞市南星电子有限公司 一种基于sip和ice的音视频通信方法
CN106534393B (zh) * 2015-09-15 2019-09-03 中国电信股份有限公司 实现nat设备穿越的方法和系统
CN106941527B (zh) * 2017-03-15 2021-02-02 网宿科技股份有限公司 一种数据传输中转方法及其系统
CN107395496B (zh) * 2017-06-16 2020-12-15 腾讯科技(深圳)有限公司 一种数据转发方法、装置、网关设备和存储介质
CN110809014B (zh) * 2018-08-06 2023-03-03 中兴通讯股份有限公司 业务请求、协商、响应方法、装置及网络设备、系统
CN110677291A (zh) * 2019-09-26 2020-01-10 广州兰德视讯有限公司 多点通信中降低服务器负载及网络带宽的方法及装置
CN112637364B (zh) * 2021-01-06 2023-01-10 上海哔哩哔哩科技有限公司 建立p2p连接的方法、客户端及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050033985A1 (en) * 2003-07-26 2005-02-10 Innomedia Pte Ltd. Firewall penetration system and method for real time media communications
CN101478493A (zh) * 2009-02-10 2009-07-08 杭州华三通信技术有限公司 一种穿越nat的通信方法及设备
CN101977178A (zh) * 2010-08-09 2011-02-16 中兴通讯股份有限公司 基于中继的媒体通道建立方法及系统
CN102055816A (zh) * 2010-12-28 2011-05-11 华为技术有限公司 一种通信方法、业务服务器、中间设备、终端及通信系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7411917B1 (en) * 2003-03-26 2008-08-12 Network Equipment Technologies, Inc. Method and system for providing registration-based SIP NAT traversal
US8509148B2 (en) * 2010-12-29 2013-08-13 Industrial Technology Research Institute System and method for application layer gateway assisted local IP access at a femto base station by network address translation
WO2012109865A1 (fr) * 2011-07-30 2012-08-23 华为技术有限公司 Procédé, dispositif et système de traitement nat pour des appels entre les clients d'un réseau privé et les clients ne faisant pas partie d'un réseau
CN103023858B (zh) * 2011-09-20 2015-07-22 佳都新太科技股份有限公司 一种sip网络系统中解决nat网络环境下正常呼叫的方法
CN103391334B (zh) * 2013-06-28 2016-12-28 贵阳朗玛信息技术股份有限公司 一种网络穿越方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050033985A1 (en) * 2003-07-26 2005-02-10 Innomedia Pte Ltd. Firewall penetration system and method for real time media communications
CN101478493A (zh) * 2009-02-10 2009-07-08 杭州华三通信技术有限公司 一种穿越nat的通信方法及设备
CN101977178A (zh) * 2010-08-09 2011-02-16 中兴通讯股份有限公司 基于中继的媒体通道建立方法及系统
CN102055816A (zh) * 2010-12-28 2011-05-11 华为技术有限公司 一种通信方法、业务服务器、中间设备、终端及通信系统

Also Published As

Publication number Publication date
CN103916382B (zh) 2018-05-01
CN103916382A (zh) 2014-07-09

Similar Documents

Publication Publication Date Title
WO2015096302A1 (fr) Procédé de traversée de nat basé sur une renégociation de capacités multimédia sous sip, serveur mandataire et système
JP5972398B2 (ja) Iceベースnatトラバーサル
WO2008000188A1 (fr) Procédé et système pour réaliser une interaction de flux multimédia, contrôleur de passerelle multimédia, et passerelle multimédia
US8082324B2 (en) Method of establishing a tunnel between network terminal devices passing through firewall
EP2048832B1 (fr) Procédé et système pour connecter un flux de média
TWI357749B (fr)
WO2007036160A1 (fr) Appareil, systeme et procede assurant la communication entre un client et un serveur
US9686709B2 (en) Method, apparatus and system for guaranteeing QoS of communication service in NAT scenario
WO2005041491A1 (fr) Procede destine a mettre en oeuvre un protocole multimedia traversant un dispositif de transformation d'adresse reseau
WO2008104128A1 (fr) Procédé, système et dispositif permettant de réaliser une transmission de traduction d'adresse de réseau
WO2005011216A1 (fr) Systeme et procede pour realiser une commutation d'appels multimedia dans un reseau prive
US20130007291A1 (en) MEDIA INTERWORKING IN IPv4 AND IPv6 SYSTEMS
WO2011076041A1 (fr) Procédé, dispositif et système permettant l'établissement d'un appel
WO2019184262A1 (fr) Procédé de traversée de traduction d'adresse de réseau de données multimédias de multiples types, terminal et système
WO2012109865A1 (fr) Procédé, dispositif et système de traitement nat pour des appels entre les clients d'un réseau privé et les clients ne faisant pas partie d'un réseau
WO2015062454A1 (fr) Procédé, dispositif, et système d'appel audio et vidéo
WO2011015067A1 (fr) Procédé et système de passage d’un message de flux de contrôle de média par un traducteur d’adresses réseau
EP2987295B1 (fr) Contrôle locale de session multimédia supplémentaire pour un appel par paquets
US9042376B2 (en) Traversal method for ICMP-sensitive NAT
CN104994067A (zh) Sip网络访问rtsp监控网络的系统及方法
WO2006015525A1 (fr) Procede d'appel point a point entre deux terminaux multimedia dans le reseau prive
CN107634954B (zh) 一种软交换呼叫方法及系统
WO2008003214A1 (fr) Procédé, dispositif et système de passage de flux multimédia à travers la traduction d'adresse de réseau
WO2023016172A1 (fr) Procédé, appareil et système de traitement d'appel
WO2023016177A1 (fr) Système, appareil et procédé de traitement d'appel

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14873508

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14873508

Country of ref document: EP

Kind code of ref document: A1