Patent ID: 8144704

Claim:
An IP communication apparatus that performs communication on a network with a destination apparatus via a relay apparatus that has a network address translation (NAT) function, the IP communication apparatus comprising: a NAT information obtainer that communicates with a STUN server connected to the network to obtain NAT type information of the relay apparatus to which the IP communication apparatus is connected; an address information obtainer that communicates with the STUN server to obtain address information of the relay apparatus; a signaling unit that transmits a first signal to and receives a second signal from the destination apparatus, using the address information of the relay apparatus obtained by the address information obtainer as address information of the IP communication apparatus, via a SIP server in order to establish a connection with the destination apparatus; a communication manager that determines whether the relay apparatus implements a symmetric NAT based on the NAT type information obtained by the NAT information obtainer after the signaling unit transmits the first signal, and periodically transmits, after the signaling unit transmits the first signal before the signaling unit receives the second signal, a dummy packet to the SIP server to keep the address information of the relay apparatus, when it is determined that the relay apparatus does not implement the symmetric NAT; and a data communicator that receives first media data from the destination apparatus and transmits second media data to the destination apparatus after the connection is established, wherein the communication manager determines a destination port number of the second media data according to the second signal received from the destination apparatus for establishing the connection, the communication manager obtains a source port number from the first media data received by the data communicator, and the communication manager further compares the obtained source port number with the determined destination port number and replaces the determined destination port number with the obtained source port number, when the obtained source port number is different from the determined destination port number.