Patent ID: 8676933
Filing Date: 2014-03-18
Classification: H04L

Abstract:
1. An NAT (Network Address Translator) traversal method in Session Initiation Protocol (SIP), the Session Initiation Protocol (SIP) includes a Login Session, a Call Setup Session, a Media Session and a Cancel Session, and comprises a first NAT server, a second NAT server and an SIP proxy server, a first computer is under the first NAT server, a second computer is under the second NAT server; the SIP proxy server also performs a function of an RTP (Real Time Transport Protocol) server, the SIP proxy server is responsible for transferring messages, while the RTP server is responsible for transferring speech packets, the method comprises the steps as below: a. the first computer uses a “Register” request of the SIP to conduct a plurality of registrations before issuing an Invite message in the Login Session for detecting a rule that the first NAT server assigns a port number and an IP address; for each registration the SIP Proxy server will return a b. after the plurality of registrations the first computer predicts the port number and the IP address assigned by the first NAT server in accordance with the rule that the first NAT server assigns a port number and an IP address for transferring speech packets, and the predictive IP address of the first NAT server and port number assigned by the first NAT server to the first computer for transferring speech packets are filled into a parameter “c=IN IP4” and a parameter “m=audio” of the Invite message; c. the invite message passes to the SIP proxy server through the first NAT server, the SIP proxy server adds an IP of the RTP server and a port number of the RTP server to the invite message, and then passes the invite message to the second computer through the second NAT server; d. after the second computer receives the Invite message, the second computer uses the “Register” request in SIP to conduct a plurality of registrations for detecting a rule that the second NAT server assigns a port number and an IP address; for each registration the SIP Proxy server will return a e. after the plurality of registrations, the second computer predicts the port number and IP address assigned by the second NAT server to the second computer for transferring speech packets, and the predictive IP address of the second NAT server and the port number assigned by the second NAT server to the second computer for transferring speech packets are filled into a parameter “c=IN IP4” and a parameter “m=audio” of a f. the second computer passes the g. after the first computer receives the h. after the second computer receives the ACK message, the second computer passes speech packets to both the first NAT server and the RTP server through the second NAT server; i. if the prediction of the port numbers assigned by the first NAT server and the second NAT server to the first computer and the second computer are correct, the speech packets will be transferred directly between the first NAT server and the second NAT server, and stopped to transfer to the SIP proxy server; j. if the prediction of the port numbers assigned by the first NAT server and the second NAT server to the first computer and the second computer are wrong so that the first computer and the second computer do not receive the speech packets from the second computer and the first computer, the first computer and the second computer will stop the speech packets transferring directly between the first NAT server and the second NAT server, but transfer the speech packets to the SIP proxy server through the first NAT server and the second NAT server respectively to set up communication by the SIP proxy server.