CN101155185A - Interactive NAT traversing method of SIP communication protocol - Google Patents

Interactive NAT traversing method of SIP communication protocol Download PDF

Info

Publication number
CN101155185A
CN101155185A CNA2006101526518A CN200610152651A CN101155185A CN 101155185 A CN101155185 A CN 101155185A CN A2006101526518 A CNA2006101526518 A CN A2006101526518A CN 200610152651 A CN200610152651 A CN 200610152651A CN 101155185 A CN101155185 A CN 101155185A
Authority
CN
China
Prior art keywords
nat
sip
server
speaker
int
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.)
Pending
Application number
CNA2006101526518A
Other languages
Chinese (zh)
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.)
CAROCITE ENTERPRISE Co Ltd
Original Assignee
CAROCITE ENTERPRISE 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 CAROCITE ENTERPRISE Co Ltd filed Critical CAROCITE ENTERPRISE Co Ltd
Priority to CNA2006101526518A priority Critical patent/CN101155185A/en
Publication of CN101155185A publication Critical patent/CN101155185A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to electric communication technology, especially an interactive NAT traversing method of SIP communication protocol (SIP with INT, SWINT) which improves that the SIP voice package can not be transmitted under the NAT firewall; an interactive NAT traversing method of SIP communication protocol includes INT server and SIP agent server; the SIP agent server plays the function of traditional SIP protocol, for register of SIP client, transmission or afresh guiding SIP message of SIP client; the INT server is independent to the SIP agent server, and does not know the existence of opposite part; a voice transmitter and a telephone receiver locate within NAT network, and register to SIP agent server as well as INT server separately; the INT server has special message format, and does not receive SIP message from the voice transmitter and telephone receiver; the voice transmitter requests the program for forecasting network address transformation to the telephone receiver by the INT server, and after establishing premedia online according to the forecasting result, to implement traditional SIP communication flow.

Description

The interactive NAT of SIP communications protocol passes through method
Technical field
The present invention relates to a kind of electrical communication technology, refer in particular to a kind of can improve the SIP voice data packet can't in the NAT fire compartment wall down directly to the interactive NAT of the SIP communications protocol of the puzzlement of biography pass through method (SIP with INT, SWINT).
Background technology
VoIP (networking telephone) is one of popular now mechanics of communication.Serve as present hot VoIP standard agreement with the Session initiation Protocol SIP (Session Initiation Protocol) that IETF was formulated in the VoIP communications protocol, its framework is simple, extendibility is good, and real easily the work.
In present network environment, the IP address that IPv4 provided is applied and is used, and adds that the network hacker attack emerges in an endless stream, and makes more and more many people begin to set up network address translater NAT (Network Address Translator) or fire compartment wall.For the user who has only a real IP but to have the multi-section computer to connect to network, NAT provides single real IP correspondence to organize the function of virtual IP address more and solved problem, and the filtering packets function of NAT provides easy network safety prevention, avoid hacker's attack, but NAT is the problem of the application initiation Communications failure of P2P (Peer to Peer) also.
When the SIP standard agreement is stipulated and reckon without NAT P2P is used the problem caused, make the SIP communications protocol can't be directly used in the NAT network environment.This is a serious problem to SIP, because there is nearly 70% the network user to see through NAT to be connected with world-wide web according to statistics, this representative has only 30% the network user can use the SIP communications protocol to carry out the VoIP communication.
Though it is the problem that SIP brought that existing at present many methods are suggested in order to solve NAT, these methods must install equipment additional or replace the NAT device, and the method that has can only solve the communication problem of certain kenel NAT.Wherein prevailing method is set up acting server exactly, but its cost costliness is a heavy burden to the VoIP dealer.
Summary of the invention
Purpose of the present invention is providing a kind of means of communication, the NAT of can be in conjunction with SIP and the user who is under the NAT can be reached pass through the other side and directly point-to-point (P2P) transmission, the method need not changed any network settings, and its simple framework can significantly reduce VoIP dealer's operation costs.
To achieve these goals, the interactive NAT that the present invention proposes a kind of SIP communications protocol passes through method, comprises INT server and sip proxy server; Wherein: sip proxy server is served as the role of traditional Session Initiation Protocol, is responsible for registration, the forwarding of SIP client or the SIP message of the SIP client that leads again; The INT server is then separate with sip proxy server, does not know the other side's existence each other; First speaker and callee are positioned under the NAT network environment, and respectively to sip proxy server and INT server registration; The INT server has exclusive message format, does not accept the SIP message that first speaker or callee transmit; First speaker must see through earlier the INT server and require the program that carry out the network address change prediction to callee, and after setting up pre-MOL(medium on-line) according to the result that forecasting institute gets, just carries out the communication flow of traditional SIP.
The SWINT of the present invention's proposition (SIP with Interactive NAT Traversal) method has following beneficial effect: 1) make SIP need not see through acting server exchange package directly to passing voice data packet under NAT; 2) be applicable to the NAT environment of various kenels and framework; 3) client does not need the changed network environment set; 4) the VoIP dealer need not change the sip server this method of can arranging in pairs or groups; 5) package is little, takies advantages such as frequency range hardly.
Brief description of drawings
Fig. 1 is SIP communication flow example figure.
Fig. 2 is package variation situation of quadrinomial parameter in the transport process between heterogeneous networks.
Fig. 3 is a SWINT system architecture diagram of the present invention.
Fig. 4 is that SWINT agreement of the present invention is in the communication flow figure of passing through NAT fire compartment wall.
Fig. 5 does not support the communication flow figure of SWINT agreement for callee.
Fig. 6 is the network parameter variation diagram of INT program message of the present invention.
Embodiment
The SIP brief introduction
The message (Message) that SIP sets up calling on-line is the most basic unit of SIP, can be divided into request (Request) and response (Response) two kinds.Request is the SIP message that is sent to server-side (Server) by client (Client), and expresses the purpose of client; Response is sent to the SIP message of client for server-side, in order to reply the request of client.
SIP has defined six kinds of requesting methods, comprises INVITE, CANCEL, BYE, ACK, REGISTER and OPTIONS, and is as shown in table 1.
Six kinds of basic requests of table 1SIP
Requesting method Explanation
INVITE Set up new medium talks (media session), or change the media characteristic (re-INVITE) of current talks; The message main body can follow INVITE to occur usually, sets up the media characteristic of (or change) to describe this INVITE desire.
CANCEL Do not finish the talks (not receiving final response) of creation facilities program (CFP) as yet to server-side (UAS) cancellation, server-side may be in to receive and seek or the state of jingle bell this moment.
BYE Finish the successfully talks of foundation (having received that 2xx finally responds), send originating end or receiving terminal that this requestor can be the INVITE request.
ACK Client (UAC, the originating end of INVITE request) is done the request of affirmation after receiving the final response (Final Response) that server-side sends to server-side.
REGISTER The register requirement that SIP client (user agent) is sent to registrar, server receive that this request will write down the IP address and the communication terminal interface at client place.
OPTIONS Inquiry the other side's tenability.
The sip response message is the message that server-side is replied client-requested, and is as shown in table 2.
Table 2SIP response message classification
The conditional code scope Respond kenel Explanation
100~199 (1xx) Informational Server-side has been received request, and should ask processed; But this request is not accepted as yet.
200~299 (2xx) Success Server-side is accepted the request that client is sent here.
300~399 (3xx) Redirection The request message needs to be directed to another server-side again, and the URL of the server-side of guiding will be expressed in the field of " Contact " header again.
400~499 (4xx) Client Error Request can't be handled because of the mistake of client, such as message is unverified, the medium kenel is not supported or there is no evidence of this person ... or the like.Client can produce new request message also according to the indication in the response message
Retry.
500~599 (5xx) Server Error The request message makes a mistake and can't handle because of server (server), handles but client can be sent to other server with the request message.
600~699 (6xx) Global Error The request message can't be handled because of the overall network environment error, and the request message can not be sent to other and waits for an opportunity device or retry.
SIP communication example
This section is introduced the communication switching of complete S IP communication flow.This section for example be the SIP call flow (promptly contain 2xx response) of a success, and first speaker (UAC) and callee (UAS) and sip proxy server (Proxy Server) all use real IP address, so there is not the problem of NAT.
Fig. 1 describes a complete SIP communication process, comprises the exchange of SIP message and the transmission of RTP medium package.In this example, the user account number of first speaker is hsing, and its SIP-URL is sip:[email protected], and IP address, place is 140.124.43.145.The callee account number is hsf, and its SIP-URL is sip:[email protected], and IP address, place is 140.124.40.11.First speaker and callee all succeed in registration to sip server, and the domain name of sip server (Domain Name) is ntut.voip.edu.tw.
The following describes the flow process of Fig. 1:
M1: user Hsing wants that to set up SIP online with user Hsf, user Hsing sends the INVITE request by IP address 140.124.43.145 and is transmitted to user Hsf by sip server (ntut.voip.edu.tw), and dated its RTP address is 140.124.43.145:49170 in message.
M2:SIP server (ntut.voip.edu.tw) is transmitted INVITE and is asked the Hsf to the user.
M3: user Hsf replys the message of " local side jingle bell " to sip server (ntut.voip.edu.tw).
M4:SIP server (ntut.voip.edu.tw) is transmitted the message of " local side jingle bell " to user Hsing, and its reverse-path returns back to IP address 140.124.43.145 according to the record of Via header.
M5: user Hsf replys the message of " local side is answered " to sip server (ntut.voip.edu.tw), and the dated online address of its RTP is 140.124.40.11:3456.
M6:SIP server (ntut.voip.edu.tw) is transmitted the message of " local side is answered " to user Hsing.
M7: user Hsing sends ACK and asks to sip server (ntut.voip.edu.tw), confirms the message of " local side is answered ".
M8:SIP server (ntut.voip.edu.tw) is transmitted ACK and is asked the Hsf to the user.
M9: user Hsf initiatively finishes conversation, and sends BYE and ask to sip server (ntut.voip.edu.tw).
M10:SIP server (ntut.voip.edu.tw) is transmitted BYE and is asked the Hsing to the user.
M11: user Hsing receives the BYE request, and replys " 200OK " to sip server (ntut.voip.edu.tw).
M12:SIP server (ntut.voip.edu.tw) is transmitted " 200OK " to user Hsf.
The NAT brief introduction
(Network Address Translators NAT) is generally used between the LAN of live network (or claim public network) and virtual ip address network address translater, is a kind of device that can change IP address and PORT COM number (Port) in the package.When package will be delivered to public network from virtual network, NAT will revise IP address and the PORT COM number that these packages write down, and is the live network address of tool uniqueness.
When a package is sent from virtual network, must change the LAN address of this package into the live network address with NAT, this is because exist many virtual networks that connect by NAT on live network, these virtual networks utilize privately owned IP address to use for internal network, but these IP addresses may be identical with the IP address that other virtual network is used.If these IP appear on the live network, router (router) can not know whom to give with package because existing too many identical LAN IP address, so can't get footpath (unroutable).
NAT sometimes is used for being used as the mechanism of hiding the LAN inside structure, and the external users is isolated.For instance, utilize network address translation protocol (Network Address TranslateProtocol), can allow all be positioned at the user of internal network, only use one group of real IP address to be connected, reach the purpose of hiding internal network by this with extraneous.And this mechanism provides the NAT Internal users easy firewall functionality, makes that intentionally the personage will attack or steal NAT internal network data difficulty more.
Because the IP quantity that IPv4 can provide can't satisfy the network user of quick growth, so NAT provides a good solution, for the enterprise customer, only need a spot of IP of application address, promptly being convertible into a large amount of virtual IP addresses by NAT uses for the employee, not only save cost, also can reach the purpose of network management and network security; For the general user, NAT allows all computers can pass through same grid line browsing network resources in the family, does not need extra log on service.
The NAT operation principles
The main task of NAT is exactly with the IP address transition in the network package, reaches the contrast function between virtual network and live network.And NAT has the function of router, and promptly it can resolve the IP address in the network package, and determines the transfer path of this package, so it must have a form (routing table) of getting footpath usefulness in order to the record network topological information.In addition, NAT must have another IP table of comparisons (mapping table), and the real IP address of this charting Internal virtual IP address correspondence and communication terminal interface (port) are to reach the function of network address translation.
For instance, suppose that NAT is X (the capitalization symbolic representation is the live network address of NAT outside, and the small letter symbol is then represented the virtual network address of NAT inside) in the IP address of public network, and NAT inside there are many virtual ip address x N, n=1,2,3...A wherein a certain virtual ip address is x kComputer want to connect to certain IP address the Web server that is Y, so automatic network port mouth p kSend the P of HTTP network package to Y 80The network terminal interface.Since this is online be newly-built online and in the NAT table of comparisons no corresponding record, then network address SA (Source Address, S must be held in the source in this online network package of sending IP=x k, S Port=p k) replace to the network address X:P of NAT k, be sent to the destination network address DA (Destination Address, D again IP=Y, D Port=P 80), and this contrast information write in the NAT table of comparisons.And deliver to X:P by public network kNetwork package then will be transferred in the NAT table of comparisons the virtual network address x of correspondence k: p k, and the destination network address is also by X:P kChange x into k: p k
Hence one can see that, and it is with reference to the record on the NAT table of comparisons that NAT does network address translation, utilizes its IP address its different network terminal interface of arranging in pairs or groups to correspond to the online of internal network.The external network tendency to develop send package to an internal network computer, need know at least that then internal network connects the NAT contrast record (being that NAT is this online IP that is disposed and end interface value) of outer online correspondence, just has an opportunity to transmit successfully.
NAT is to the influence of P2P application
The user who is positioned at the NAT outside be can't be initiatively with the user of NAT inside set up online, and be positioned at two following users of different N AT to directly set up online impossible especially.What yet P2P (Peerto Peer) transmission was emphasized is exactly that two-end-point directly transmits data, but for the user under the NAT, be conditional directly to the biography data, promptly must initiatively send user on the live network to by the user under the NAT, the user that the user on the live network sees through under this online and NAT again links up.But be positioned at situation under the different N AT for both sides, directly point-to-point transmission just becomes impossible, and must do indirect communication for both sides' switching network package by the third party who is positioned on the live network, and this third party is the acting server (proxy/relay) of general what is called.
SIP with INT communications protocol
*The directly discussion of passing through NAT fire compartment wall
At general IP network package, we can find out quadrinomial parameter, be respectively end IP address, source, source end communication port, destination IP position, destination PORT COM, wherein IP position (IPaddress) can be used to distinguish the device that sends this package, and the difference that PORT COM (port number) then is used for differentiating on same table apparatus is online.
Fig. 2 has illustrated package variation situation of quadrinomial parameter in the transport process between live network (public network) and virtual network (privatenetwork).The A end lays respectively at two virtual networks that different N AT is following with the D end, and the B end then is positioned at live network with the C end.Sending package Packet#1 when the A end holds to B, the SP1 that Packet#1 carries, SA1, DPI and DA1 represent source end communication port respectively, end IP address, source, the destination PORT COM, destination IP position (Source Port, Source Address, Destination Port, Destination Address) quadrinomial parameter, and SP1 and SA1 can be modified as SP1 ' by NAT router#1 behind the process fire compartment wall and SA1 ' gives B end by NAT router#1 with Packet#1 ' again, wherein SA1 ' is the real IP position of NAT router#1, and SP1 ' is that NAT router#1 is according to PORT COM institute appointment automatically at present.As long as the B end is being received Packet#1 ' back according to the entrained quadrinomial parameter of Packet#1 ', and just loopback package (Packet) is given the A that is positioned at fire compartment wall #1 end easily.
This moment, the C end wanted to transmit Packet#2 to the A end that is positioned at NAT#1, NAT for a rigorous kenel, symmetric form (Symmetric) NAT just, as long as the quadrinomial parameter of Packet#2 meets the following conditions simultaneously, but then Packet#2 will passing through NAT #1 delivers to A and holds:
DA2=SA1’ (1)
DP2=SP1’ (2)
SA2=DA1 (3)
SP2=DP1 (4)
Wherein DA2, DP2, SA2 and SP2 quadrinomial parameter can be by the controls of C end, and DA1 and DPI are then by the decision of A end, but SA1 ' and SP1 ' are set by NAT#1.SP1 ' is the parameter of Packet#1 ' and has only the B end just can know in formula (2), and the C end is can go to guess the value of SP1 ' and it is made as DP2 certainly, because the scope of the value of SP1 ' is 0~65535, so the probability of guessing right has only 1/65536.In formula (3), be not same device as if the C end with the B end, then formula (3) is false, because DA1 is that the IP address that B holds can't be identical with the IP address SA2 of C end in the formula (3).If the probability that formula (2) is set up is P 2, the probability that formula (3) is set up is P 3, then the C end can successfully be given Packet#2 A the probability P of end C2AShown in following formula 5, because P 3Be zero, so P C2AValue be zero.
P C2A=P 2×P 3 (5)
D end plans to send package Packet#4 to A to hold, if satisfy following condition simultaneously, then Packet#4 ' but will passing through NAT Firewall#1 deliver to A and hold:
DA4=SA3’ (6)
DP4=SP3’ (7)
SA4’=DA3 (8)
SP4’=DP3 (9)
Wherein DA3 and DP3 be by A end control, and DA4 and DP4 are set by the D end, and the IP address SA4 ' of the IP address SA3 ' of NAT/Firewall#1 and NAT/Firewall#2 can know in advance, so formula (6) and formula (8) can be reached easily.Because Packet#3 can't pass through Firewall#2, so the D end can not known the SP3 ' parameter of Packet#3, but formula (7) and formula (9) only are made as DP3 the value of SP4 ' and value that the D end is guessed SP3 ' just can be set up in advance at Firewall#1, but the value of DP3 can't appointment, and the value of SP4 ' can't be known in advance, so by chance equaling chance and the D of SP4 ', DP3 hold the probability of guessing SP3 ' to be all 1/65536, that is to say that the probability that (7) and formula (9) are set up simultaneously is 1/4294967296, that is to say chance that the user who is positioned at two different fire-proofs directly exchanges package be level off to zero.
If the variation of the value of SP3 ' and SP4 ' is clocklike, and the value of SP3 ' and SP4 ' can predict after seeing through some program exactly, and the chance that the user who then is positioned at two different fire-proofs directly exchanges package is to level off to a hundred per cent; Very fortunately, the PORT COM of NAT on the market changes at present all has its rule to follow, and this representative prediction NAT network address change is feasible.
*SWINT communications protocol design concept
The interactive NAT of SIP communication protocol proposed by the invention passes through method (SWINT, SIPwith Interactive NAT Traversal) communications protocol, its main target is to make the sip user that is positioned under the NAT fire compartment wall, the direct point-to-point transmission RTP package of energy, this agreement meets following several characteristics:
1.SIP client need not changed the purpose that any network settings just can reach the passing through NAT fire compartment wall.
2. this agreement can be passed through the NAT fire compartment wall of various kenels.
3. the package of the employed instruction of passing through NAT fire compartment wall should only take the minute quantity frequency range.
4. the process of passing through NAT fire compartment wall should be simple and clear, and finish in the short time at the utmost point.
5. framework is simple and real easily does, with low cost.
6. this agreement should be independent with the SIP communications protocol as far as possible, so that existing SIP device (as server) can continue to use.
*Communications protocol it Embodiment
Fig. 3 is SWINT of the present invention (SIP with Interactive NAT Traversal) system architecture diagram, mainly formed by INT (Interactive NAT Traversal, interactive NAT passes through) server and sip proxy server (SIP Proxy Server).Wherein sip proxy server is served as the role of traditional Session Initiation Protocol, promptly is responsible for registration (Registration), the forwarding (Forwarding) of SIP client or the SIP message of (Redirection) SIP client that leads again.The INT server is then separate with sip proxy server, do not know the other side's existence each other, and the INT server has exclusive message format, does not accept the SIP message that client transmits.
Be positioned at the user under the situation of NAT fire compartment wall, first speaker (UAC) must see through the program (L1 among Fig. 3 that the INT server requires to carry out network address change prediction (Prediction toVariation of IP and Port) to callee (UAS) earlier, the L2 line segment), and set up pre-MOL(medium on-line) (Virtual/Pre-established Session according to the result that forecasting institute gets, L5 line segment among Fig. 3), promptly in Session Initiation Protocol, be used for behind the RTP Session (also claiming MediaSession) of transferring voice package, just carry out the communication flow (L3 among Fig. 3 of traditional SIP, the L4 line segment).
Fig. 4 describes detailed communication flow among Fig. 3, with C1 is that boundary is divided into two parts up and down with whole flow process, Lower Half is traditional Session Initiation Protocol (SIP communication switching program), and the INT agreement (Interactive NAT Traversal) of the first half for ordering certainly is in order to the prediction network address change.
First speaker (UAC) and callee (UAS) are positioned under the NAT network environment (being that both sides all use virtual IP address) and support this agreement in this example, and respectively to INT server (INT Server, hereinafter to be referred as IS) succeed in registration with sip server (SIP Server is to call SS in the following text).First speaker and callee are respectively NAT_Addr_1.IP in the network address of IS registration record UAC: Port UAC, NAT_Addr_2.IP UAS: Port UASWherein NAT_Addr_1 is the address of outermost layer (being connected with the public network) NAT at first speaker place, and NAT_Addr_2 is the address of the outermost layer NAT at callee place.SS and IS are the individuality of two independences, so SS need not to support this agreement.
The network address change prediction is that the mode that sees through both sides' " interaction " is collected NAT network parameter message as seen from Figure 4, reaches the purpose of passing through NAT fire compartment wall, and this also is the origin of " interactive passing through NAT " (Interactive NAT Traversal) title.Desire when callee is set up calling on-line when the first speaker end, its flow process is as described below:
1. first speaker is from NAT_Addr_1.IP 1: Port 1Send the Q that requires of network address change prediction 1To IS.
2.IS receive that from the network site be NAT_Addr_1.IP 1: Port 1Require Q 1, IS is with NAT_Addr_1.IP 1: Port 1Value add Q 1The back is Q 1', and be forwarded to NAT_Addr_2.IP UAS: Port UASSend to callee.
3. callee is received Q 1' back from NAT_Addr_2.IP 1': Port 1' answer R 1To IS.
4.IS receive that from the network site be NAT_Addr_2.IP 1': Port 1' R 1, IS is with NAT_Addr_2.IP 1': Port 1' value add R 1Be R 1', and be forwarded to NAT_Addr_1.IP UAC: Port UACSend to first speaker.
5. first speaker is by R 1' learn NAT_Addr_1.IP 1: Port 1With NAT_Addr_2.IP 1': Port 1' value and write down it, and write down respectively from sending Q 1Up to receiving R 1' between the interval be RTT 1(Round Trip Time); Q 2With R 2' between interval RTT 2... by that analogy.
6. first speaker repeating step 1~5 is up to the rule change of observing both sides IP and Port, or the network address change prediction require transmit number of times and arrive higher limit L 1, then stop to transmit the requirement of network address change prediction.
7. observed the rule change of both sides IP and Port as if first speaker, and the prediction both sides next can be respectively from NAT_Addr_1.IP n: Port n, NAT_Addr_2.IP n': Port n' transmit message, and to calculate average RTT be RTT Avg, then first speaker is from NAT_Addr_1.IP UAC: Port UACTransmit the online RQ that requires 1To IS, this RQ 1The NAT_Addr_1.IP that predicts the outcome of record first speaker n: Port nWith NAT_Addr_2.IP n': Port nWith RTT AvgRTT AvgAccount form as shown in Equation (10), wherein N is the number of times of network address change prediction.
RTT avg = 1 2 ( N + 1 ) Σ n = 0 N RTT n - - - ( 10 )
8.IS with RQ 2(be RQ 1) be forwarded to IP UASPort UASSend to callee.
9. callee is received RQ 2The back is from NAT_Addr_2.IP UAS: Port UASReply ACK 1(ACK that is different from SIP) to IS, and in elapsed time RTT Avg/ 2 backs are from NAT_Addr_2.IP n': Port n' open and to be online to NAT_Addr_1.IP n: NAT_Addr_1.Port n
10.IS pass on ACK 2(be ACK 1) to NAT_Addr_2.IP UAC: Port UACSend to first speaker.
11. first speaker is received ACK 2After at once from NAT_Addr_1.IP n: Port nFoundation is online to NAT_Addr_2.IP n': Port n'.
12. as if predicting accurately then C 1Online can successfully foundation, otherwise repeat above-mentioned steps up to successfully setting up C 1Or number of repetition arrives higher limit L 2
13. if successfully set up C 1', then first speaker is sent SIP request message " INVITE " (M 1, M 2), and with NAT_Addr_1.IP n: Port nInsert the online relevant field of RTP among the SDP.
14. callee is replied " 200OK " (M 5, M 6) the sip response message, and with NAT_Addr_2.IP n': Port n' insert the online relevant field of RTP among the SDP.
15. both sides formally see through C 1(be the C of previous foundation 1Online) the transmission voice data packet.
When first speaker is finished the network address change predictor and can successfully be set up the online (C of article one UDP 1), can according to the network address change trend of being predicted set up second or the 3rd online, for the usefulness of RTCP or image transmission.And both sides finish the conversation after, can continue to keep C 2Online constantly (in the set time, as 1~5 minute, with C 2Transmit any package, to avoid this C 2Onlinely interrupted by the NAT fire compartment wall), if the following desire of both sides is set up calling on-line, can omit the network address change predictor thus, directly carry out the exchange of SIP message.
If callee is not supported the SWINT agreement, can't cause whole communication flow failure, as shown in Figure 5.Both sides still can see through SS exchange SIP message and set up the RTP voice online, and difference is that this RTP voice online is to set up but not foundation in advance after the SIP communication switching is finished.In addition, both sides' RTP voice online is still done online with the switched voice package indirectly by RTP Relay Server (RTP Relay).
Desire when callee is set up calling on-line when first speaker, its flow process is as described below, below under represented IP, the outermost layer NAT (being connected) that the Port value is both sides with public network:
1. first speaker is in IP 1: Port 1Send the Q that requires of network address change prediction 1To IS.
2.IS receive the Q that requires from first speaker 1, but in subscriber data, can not find the network site record (may because of do not reach the standard grade or do not support that this agreement is to the IS registration) of callee, IS answer ER (Error Report) is to IP UAC: Port UACSend to first speaker, and error code is placed this restore message.
3. first speaker finishes the network address change predictor after receiving the restore message ER of IS and reading mistake code.
4. first speaker is sent SIP request message " INVITE " to SS (M 1), require to set up the SIP calling on-line.SIP communication switching flow process backward is according to standard agreement, in this description will be omitted.
5. both sides finish the exchange of SIP message, and SS is by the SDP field in the SIP message of revising both sides, with both sides' voice data packet guiding RTP Relay Server so that exchange.
Fig. 6 is the situation of message transmission in interactive passing through NAT (INT) program between first speaker and the callee, wherein UAC is a first speaker, UAS is a callee, NAT1 is the network address translater (Network Address Translator) that joins with public network under the first speaker, NAT2 is the network address translater that joins with public network under the callee, and IS is INT (interactive NAT a passes through) server; Network parameter in the message only shows this message transmitting terminal (S, Source) with receiving terminal (D, Destination) the network address, wherein V_Addr_1 is that first speaker is in the following virtual network address of NAT1, V_Addr_2 is that callee is in the following virtual network address of NAT2, NAT_Addr1 is the live network address of NAT1, and NAT_Addr2 is the live network address of NAT2, and IS_Addr is the live network address of IS.Each network address is all IP k: Port kForm, wherein IP is an IP address, Port is a PORT COM, subscript k=1,2, the positive integer of 3..., in order to IP and the Port value of representing difference, common IP 1, IP 2, IP 3... IP nValue can be identical.IP Uac: Port UacBe the network address that first speaker is used, IP when IS registers Uas: Port UasThe network address of when IS registers, being used by callee.
Among numerical value substitution Fig. 6 with table 3, we are first speaker and callee network address change under the NAT under it live network address corresponding with it as can be seen; We can observe the variation (IP is constant in supposition) of both NAT Bu Kou ends, wherein NAT from table 1Bu Kou be changed to and increase progressively 2 at every turn, and NAT 2For increase progressively 1 at every turn; When the test result of last gained is NAT_Addr_1.Port N-1=62226 and NAT_Addr_2.Port N-1=64506, then we can predict NAT_Addr_1.Port n=62228 and NAT_Addr_2.Port n=64507; Follow the RTP that first speaker is sent 1Package will be by S 1=140.124.43.168:62228 delivers to D 1=219.80.42.35:64506, and the RTP that callee is sent 2Package is then by S 2=219.80.42.35:64506 delivers to D 2=140.124.43.168:62228; According to the operation principles of NAT, when the source-end networks address of package that NAT receives is same as the destination position (D that this Bu Kou had before sent package and write down 1=S 2, D 2=S 1), then will transfer to the client of this port mouth correspondence, when promptly both sides' the package that NAT received all satisfies this condition, then finish the passing through NAT trip and be.So in this example, RTP 1With RTP 2Package all can successfully deliver to NAT sending out down, callee.
The table 3INT program network parameter table of comparisons
Network parameter Corresponding numerical value Network parameter Corresponding numerical value
V_Addr_1.IP 192.168.0.14 V_Addr_2.IP 10.1.10.117
V_Addr_1.Port uac 5070 V_Addr_2.Port uas 5070
V_Addr_1.Port 1 1440 V_Addr_2.Port 1 1221
V_Addr_1.Port 2 1441 V_Addr_2.Port 2 1222
V_Addr_1.Port 3 1442 V_Addr_2.Port 3 1223
NAT_Addr_1.IP 140.124.43.168 NAT_Addr_2.IP 219.80.42.35
NAT_Addr_1.Port uac 61004 NAT_Addr_2.Port uas 63412
NAT_Addr_1.Port 1 62210 NAT_Addr_2.Port 1 64498
NAT_Addr_1.Port 2 62212 NAT_Addr_2.Port 2 64499
NAT_Addr_1.Port 3 62214 NAT_Addr_2.Port 3 64500
NAT_Addr_1.Port n-1 62226 NAT_Addr_2.Port n-1 64506
NAT_Addr_1.Port n 62228 NAT_Addr_2.Port n 64507
IS_Addr.IP 210.63.32.137
IS_Addr.Port 5070

Claims (3)

1. the interactive NAT of a SIP communications protocol passes through method, comprises INT server and sip proxy server; It is characterized in that: sip proxy server is served as the role of traditional Session Initiation Protocol, is used for registration, the forwarding of SIP client or the SIP message of the SIP client that leads again; The INT server is then separate with sip proxy server, does not know the other side's existence each other; First speaker and callee are positioned under the NAT network environment, and respectively to sip proxy server and INT server registration; The INT server has exclusive message format, does not accept the SIP message that first speaker or callee transmit; First speaker at first require to be carried out the program of network address change prediction by the INT server to callee, and after setting up pre-MOL(medium on-line) according to the result that forecasting institute gets, just carries out the communication flow of traditional SIP.
2. the interactive NAT of SIP communications protocol as claimed in claim 1 passes through method, it is characterized in that: the step of the concrete operation of described method is as follows:
A. first speaker is sent the server to INT that requires of first speaker NAT network location information and network address change prediction earlier;
The b.INT server is sent to callee with the INT network site of the NAT network location information mat callee of first speaker;
C. after callee is received, callee NAT network location information is replied the INT server;
The d.INT server is forwarded to first speaker with the NAT network location information of callee;
E. first speaker record first speaker NAT network location information and callee NAT network location information, and the transmission of record first speaker require to the INT server up to receiving the interval between the callee network location information;
F. first speaker repeating step a~e is up to the rule change of observing both sides NAT network location information, or the requirement of network address information variation prediction transmits number of times and arrives a preset upper limit value L 1, the requirement that then stops to transmit the network address information variation prediction;
G. if first speaker has been observed the rule change of both sides NAT network address information, and the ensuing NAT network address information of prediction both sides, calculate Mean Time Between Replacement, then first speaker transmits the online server to INT that requires from the NAT network address of its INT server, and this online requirement is write down predicting the outcome of first speaker and calculated Mean Time Between Replacement;
The h.INT server should onlinely require mat callee INT network address of server and send to callee;
I. after callee is received this online requirement, reply the INT server, and in the half the time of this Mean Time Between Replacement, open the first speaker NAT network address that is online to prediction from its NAT network address from callee INT network address of server;
J.INT server mat first speaker INT network address of server and reply first speaker;
K. after first speaker is received the answer of INT server, promptly set up the NAT network address that is online to callee from the NAT network address of first speaker;
L. if the accurately then online C of prediction 1Set up successfully, otherwise repeat above-mentioned steps up to successfully setting up online C 1Or number of repetition arrives a preset upper limit value L 2
M. if online foundation success, then first speaker is sent SIP request message " INVITE ", and relevant field in the online table is inserted in the first speaker NAT network address;
N. callee is replied it " 200 OK " response message of SIP, and relevant field in this online table is inserted in the callee NAT network address;
O. first speaker and callee formally see through online C 1Transmit voice data packet.
3. the interactive NAT of SIP communications protocol as claimed in claim 2 passes through method, it is characterized in that: the calculating formula of Mean Time Between Replacement is as follows in the described g item:
RTT avg = 1 2 ( N + 1 ) Σ n = 0 N RTT n
Wherein N is the number of times of network address change prediction, RTT nBe certain blanking time, RTT AvgBe Mean Time Between Replacement.
CNA2006101526518A 2006-09-26 2006-09-26 Interactive NAT traversing method of SIP communication protocol Pending CN101155185A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2006101526518A CN101155185A (en) 2006-09-26 2006-09-26 Interactive NAT traversing method of SIP communication protocol

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2006101526518A CN101155185A (en) 2006-09-26 2006-09-26 Interactive NAT traversing method of SIP communication protocol

Publications (1)

Publication Number Publication Date
CN101155185A true CN101155185A (en) 2008-04-02

Family

ID=39256620

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006101526518A Pending CN101155185A (en) 2006-09-26 2006-09-26 Interactive NAT traversing method of SIP communication protocol

Country Status (1)

Country Link
CN (1) CN101155185A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102144380A (en) * 2008-09-05 2011-08-03 爱立信电话股份有限公司 End-to-end address transfer
CN102413196A (en) * 2010-09-26 2012-04-11 中华电信股份有限公司 Network address distribution and management method and system
CN103384243A (en) * 2012-05-03 2013-11-06 三星电子株式会社 Method and apparatus for exchanging sip option message for capability discovery of rich communication suite in portable terminal
TWI448184B (en) * 2011-07-25 2014-08-01 Univ Nat Taipei Technology Improved sip communication protocol
CN104408777A (en) * 2014-11-27 2015-03-11 凯拔(中国)科技有限公司 Internet attendance management system and method based on P2P communication realized by NAT traversal
CN105049545A (en) * 2015-06-17 2015-11-11 广州云积软件技术有限公司 Streaming media NAT traverse method based on national education examination online patrol system video standard
CN106331195A (en) * 2015-06-23 2017-01-11 中兴通讯股份有限公司 Data receiving and transmitting method and apparatus
CN111131315A (en) * 2019-12-31 2020-05-08 西安抱朴通信科技有限公司 Session connection method, device, equipment and medium

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102144380B (en) * 2008-09-05 2014-10-29 爱立信电话股份有限公司 End-to-end address transfer
CN102144380A (en) * 2008-09-05 2011-08-03 爱立信电话股份有限公司 End-to-end address transfer
CN102413196A (en) * 2010-09-26 2012-04-11 中华电信股份有限公司 Network address distribution and management method and system
TWI448184B (en) * 2011-07-25 2014-08-01 Univ Nat Taipei Technology Improved sip communication protocol
CN103384243B (en) * 2012-05-03 2018-06-08 三星电子株式会社 The method and apparatus that sip option message for capability discovery of rich is exchanged in portable terminal
CN103384243A (en) * 2012-05-03 2013-11-06 三星电子株式会社 Method and apparatus for exchanging sip option message for capability discovery of rich communication suite in portable terminal
US10187245B2 (en) 2012-05-03 2019-01-22 Samsung Electronics Co., Ltd. Method and apparatus for exchanging SIP option message for capability discovery of rich communication suite in portable terminal
CN104408777A (en) * 2014-11-27 2015-03-11 凯拔(中国)科技有限公司 Internet attendance management system and method based on P2P communication realized by NAT traversal
CN105049545A (en) * 2015-06-17 2015-11-11 广州云积软件技术有限公司 Streaming media NAT traverse method based on national education examination online patrol system video standard
CN105049545B (en) * 2015-06-17 2018-02-02 广州云积软件技术有限公司 Based on the Streaming Media NAT through method under the online inspection system video standard of the national education examinations
CN106331195A (en) * 2015-06-23 2017-01-11 中兴通讯股份有限公司 Data receiving and transmitting method and apparatus
CN106331195B (en) * 2015-06-23 2020-01-14 中兴通讯股份有限公司 Data receiving and sending method and device
CN111131315A (en) * 2019-12-31 2020-05-08 西安抱朴通信科技有限公司 Session connection method, device, equipment and medium

Similar Documents

Publication Publication Date Title
CN101155185A (en) Interactive NAT traversing method of SIP communication protocol
CN1890945B (en) Communication systems for traversing firewalls and network address translation (NAT) installations
CN101601224B (en) Pinning the route of Ip bearer flows in a next generation network
US8082324B2 (en) Method of establishing a tunnel between network terminal devices passing through firewall
US8089900B2 (en) Method for repelling unwanted speech advertising for packet-oriented communication networks
US6992974B1 (en) System and method for providing fault tolerance in a network telephony system
US8204066B2 (en) Method for predicting a port number of a NAT equipment based on results of inquiring the STUN server twice
EP1137238B1 (en) System and method for integrated communications over a local IP network
JP4154615B2 (en) SIP server sharing module device, SIP message relay method, and program
CN104704795B (en) The method and system of virtual sip user agent is created by using the web browser with webRTC
CN101431511B (en) Method for penetrating fire wall and establishing on-line channel between network terminal apparatus
CN100539504C (en) A kind of network address translation and/or firewall spanning platform, system and method thereof
CN101414950B (en) Method for address translation device traversal for sip signaling messages through temporary use of the TCP transport protocol
US20100040057A1 (en) Communication method
CN101385315A (en) Communication using private ip addresses of local networks
US20080062978A1 (en) Interactive nat traversal method in session initiation protocol
WO2006082576A2 (en) A method and apparatus for server-side nat detection
CN102685268A (en) Fast private network traversal method based on ICE (Information and Content Exchange) protocol in VoIP (Voice over Internet Protocol)
CN101170556A (en) Crossing of a nat address translation equipment for sip-protocol signalling messages by address information redundancy
CN100583814C (en) Method for implementing multimedia service NAT transition
AU2004282932B2 (en) Method and apparatus for enhanced internet telephony
CN100493048C (en) Multimedia communication proxy system and method capable of crossing network address conversion and firewall
KR101606142B1 (en) Apparatus and method for supporting nat traversal in voice over internet protocol system
US20040120312A1 (en) Method for call processing and link test in a VoIP gateway and system thereof
CN101465784A (en) Portable ICE relay server and method thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080402