The present invention relates to a registration method in Internet communication field, and more particularly to a registration method for managing NAT (Network Address Translator) shutdown.
In Internet communication field, such as VoIP or IP camera, in order to assure that the users are online continually so as to make both sides connect with each other, the users are requested to perform registration intermittently to confirm interconnection.
Referring to
Referring to
Referring to
PC 1 waits for T1 time, then sends the second registration forward packet, a T3 time information is carried for sending to the server 3 through NAT 4, T3>T2. The server 3 then responds with a registration backward packet, and knows that PC 1 will register again after T3 time.
The shutdown time for NAT 4 is T2, T1<T2<T3. If NAT 4 itself finds that no packet is passed through within T2 time, then NAT 4 will shutdown automatically, while the server 3, PC 1 are ignorant of the status. At this time, if PC 2 sends an Invite packet to the server 3 through NAT 5 after T2 time, the Invite packet will be blocked up by NAT 4 when the Invite packet is sent by the server 3 to PC 1 through NAT 4.
After T3 time, PC 1 sends the third registration forward packet so as to open NAT 4, a T4 time information is carried for sending to the server 3 through NAT 4, T4>T3. Therefore a vicious circle is formed so that PC 2 cannot send the Invite packet to PC 1 through NAT 4.
The object of the present invention is to provide a registration method for managing NAT (Network Address Translator) shutdown. The time interval of registration is adjusted step by step so that the time interval of registration is slightly less than the shutdown time of NAT, and then fix the time interval of registration to assure that all of the Invite packet can pass through without blocking up by the shutdown of NAT.
In an Internet communication system, it comprises: a first PC (personal computer); a second PC; a server, interposed between the first PC and the second PC; a first NAT, interposed between the first PC and the server, a shutdown time for NAT is T2; a second NAT, interposed between the second PC and the server; the registration method for managing NAT shutdown comprises steps as below:
a. the first PC sends a registration forward packet carried with a T1 time information for sending to the server through the first NAT;
b. the server then sends a registration backward packet to the first PC through the first NAT;
c. after the first PC receives the registration backward packet from the server, the first PC knows that a registration testing packet sent by the server will be received after T1 time;
d. T1 time after the step c., the server sends the registration testing packet to the first PC through the first NAT;
e. if the first PC receives the registration testing packet, it means that the first NAT is not shutdown, T1<T2, so the T1 time is increased to T3 time, the first PC then sends immediately a response for the registration testing packet carried with the T3 time information to the server through the first NAT;
f. after the server receives the response for the registration testing packet, the server knows that the registration channel is OK, and will send again a registration testing packet to the first PC through the first NAT after T3 time;
g. T2 time after the step f. the first NAT is shutdown, T3 time after the step f. the server sends the registration testing packet to the first PC through the first NAT, if it is blocked up by the first NAT, then T2≦T3, the server cannot get a response for the registration testing packet from the first PC, so the server thinks that the first PC 1 is off-line;
h. T3 time after the step f. the first PC cannot receive the registration testing packet from the server, so the first PC renews registration, the first PC sends a registration forward packet carried with a T2′ time information for sending to the server through the first NAT, T1<T2′<T3;
i. the server finds that the first PC renews registration, so responds according to the steps b., c., d., aforementioned to the first PC, T1 is replaced by T2′;
j. as the step e. is reached again, if the first PC receives the registration testing packet, it means that the first NAT is not shutdown, T2′<T2, thereafter T2′ is fixed to assure that an Invite packet from the second PC can be sent to the first PC through the second NAT, the server and the first NAT; if T2′≧T2, then go as the step h. to reduce T2′ time again, by way of trial and error, T2′ will be adjusted to be slightly less than T2, and then to be fixed to assure that the Invite packet from the second PC can be sent to the first PC through the second NAT, the server and the first NAT.
In the step h., T3 time after the step f. the first PC cannot receive the registration testing packet from the server, so the first PC renews registration, changes the T3 time back to T1 time, and fix the T1 time thereafter.
Referring to
The first step, PC 1 sends a registration forward packet carried with T1 time information for sending to the server 3 through NAT 4. The server 3 then responds with a registration backward packet. After PC 1 receives the registration backward packet from the server 3, PC 1 knows that a registration testing packet sent by the server 3 will be received after T1 time.
The second step, after T1 time, the server 3 sends a registration testing packet to PC 1 through NAT 4. If PC 1 receives the registration testing packet, it means that NAT 4 is not shutdown, so the time interval for registration is increased to T3, PC 1 then sends immediately a response for the registration testing packet carried with the T3 time information to the server 3 through NAT 4. After the server 3 receives the response for the registration testing packet, the server 3 knows that the registration channel is OK, and will send again a registration testing packet to PC1 through NAT 4 after T3 time. PC 1 and the server 3 are ignorant of the shutdown time T2 of NAT 4. T3≧T2.
The third step, after T2 time the NAT 4 is shutdown, the server 3 sends a registration testing packet to PC 1 through NAT 4 after T3 time, but it is blocked up by NAT 4. The server 3 cannot get a response for the registration testing packet from PC 1, so the server 3 thinks that PC 1 is off-line. PC 1 cannot receive a registration testing packet from the server 3 after T3 time, so go back to the first step aforementioned to renew the registration, and reduce the T3 time to T2′, T1<T2′<T3. The server 3 finds that PC 1 renews the registration, so responds according to the first step aforementioned to PC 1.
If T2′<T2, then go as the second step to increase T2′ time a little, while maintain T2′ time is also OK. If T2′≧T2, then go as the third step to reduce T2′ time again. By way of trial and error, T2′ will be adjusted to be slightly less than T2, and then to be fixed to assure that all Invite packets from PC 2 can be sent to PC 1 through NAT 5, the server 3 and NAT 4.
Another embodiment is that: in the third step, PC 1 cannot receive a registration testing packet from the server 3 after T3 time, so go back to the first step aforementioned to renew the registration, and change the T3 time back to T1 time, and fix the T1 time thereafter.
By way of example to illustrate T1, T2, T3, T2′, T4, suppose that T2=35 seconds, T1=30 seconds, increment is 30 seconds, so T3=60 seconds, T4=90 seconds. At T3, since T3 exceeds T2, T3 is reduced to T2′ by 15 seconds decrement, therefore T2′=45 seconds. But T2′ still exceeds T2 (=35 seconds), so decrease again 7.5 seconds to make T2′=37.5 seconds. But T2′ still exceeds T2 (=35 seconds), so decrease again 3.75 seconds to make T2′=33.75 seconds, which is less than T2 (=35 second), so successful.
Referring to
The first step, PC 1 sends a REGISTER packet (similar to the registration forward packet in
The second step, after T1 time, the server 3 sends an OPTIONS packet to PC 1 through NAT 4. If PC 1 receives the OPTIONS packet, it means that NAT 4 is not shutdown, so the time interval for registration is increased to T3, PC 1 then sends immediately a REGISTER packet (similar to the response for the registration testing packet in
The third step, after T2 time the NAT 4 is shutdown, the server 3 sends an OPTIONS packet to PC 1 through NAT 4 after T3 time, but it is blocked up by NAT 4. The server 3 cannot get a REGISTER packet from PC 1, so the server 3 thinks that PC 1 is off-line. PC 1 cannot receive an OPTIONS packet from the server 3 after T3 time, so go back to the first step aforementioned to renew the registration, and reduce the T3 time to T2′, T1<T2′<T3. The server 3 finds that PC 1 renews the registration, so responds according to the first step aforementioned to PC 1.
If T2′<T2, then go as the second step to increase T2′ time a little, while maintain T2′ time is also OK. If T2′≧T2, then go as the third step to reduce T2′ time again. By way of trial and error, T2′ will be adjusted to be slightly less than T2, and then to be fixed to assure that all Invite packets from PC 2 can be sent to PC 1 through NAT 5, the server 3 and NAT 4.
Another embodiment is that: in the third step, PC 1 cannot receive an OPTIONS packet from the server 3 after T3 time, so go back to the first step aforementioned to renew the registration, and change the T3 time back to T1 time, and fix the T1 time thereafter.
Besides SIP, other Internet communication protocols that includes NAT, such as RTSP (Real Time Streaming Protocol), can also use the registration method of the present invention for managing NAT shutdown.
The scope of the present invention depends upon the following claims, and is not limited by the above embodiments.
Number | Name | Date | Kind |
---|---|---|---|
20090109963 | Tanizawa | Apr 2009 | A1 |
20100217837 | Ansari et al. | Aug 2010 | A1 |
20130272253 | Veenstra | Oct 2013 | A1 |
Number | Date | Country | |
---|---|---|---|
20160127425 A1 | May 2016 | US |