USPatent applicationPatented

Local terminal device and method for exchanging VoIP signaling

Granted 2 Dec 2014 · 1 office action

Life of the application

10 dated events
⤢ drag to zoom20122014201620182020202220242026202820302032ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

A local terminal device receives a local mail address of a local user, and converts the local mail address into a local domain name. The local terminal device transmits the local domain name and a local Internet protocol (IP) address to a dynamic domain name serve (DDNS) server to register with the DDNS server. The local terminal device receives a remote mail address of a remote user, and converts the remote mail address into a remote domain name. The local terminal device queries the DDNS server for a remote IP address corresponding to the remote domain name. The local terminal device exchanges VoIP signaling with a remote terminal device according to the remote IP address.

Description

5 parts
›BACKGROUND

1. Technical Field

The present disclosure relates to voice over Internet protocol (VoIP) communications, and more particularly to a local terminal device and a method for exchanging VoIP signaling.

2. Description of Related Art

Voice over Internet protocol (VoIP) is an IP telephony term for a set of facilities used to manage the delivery of voice information over the Internet. A VoIP system often needs one or more media gateway controllers (MGCs) to exchange VoIP signaling. However, the one or more MGCs are very expensive.

Therefore, a heretofore unaddressed need exists in the VoIP system to overcome the aforementioned deficiencies and inadequacies.

›BRIEF DESCRIPTION OF THE DRAWINGS

The details of the disclosure, both as to its structure and operation, can be best understood by referring to the accompanying drawings, in which like reference numbers and designations refer to like elements.

FIG. 1 is a schematic diagram of an application environment of one embodiment of a voice over Internet protocol (VoIP) communication system including a local terminal device in accordance with the present disclosure;

FIG. 2 is a schematic diagram of one embodiment of the local terminal device including functional modules in accordance with the present disclosure;

FIG. 3 is a flowchart of one embodiment of a registration method of the local terminal device in accordance with the present disclosure;

FIG. 4 is a flowchart of one embodiment of a method for exchanging voice over Internet protocol (VoIP) signaling of the local terminal device in accordance with the present disclosure;

FIG. 5 is a transport diagram of one embodiment of a method for exchanging VoIP signaling in accordance with the present disclosure; and

FIG. 6 is a transport diagram of another embodiment of a method for exchanging VoIP signaling in accordance with the present disclosure.

›DETAILED DESCRIPTION · 1 of 3

All of the processes described may be embodied in, and fully automated via, software code modules executed by one or more general purpose computers or processors. The code modules may be stored in any type of computer-readable medium or other storage device. Some or all of the methods may alternatively be embodied in specialized computer hardware or communication apparatus.

In general, the word “module”, as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an EPROM. The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives.

FIG. 1 is a schematic diagram of an application environment of one embodiment of a voice over Internet protocol (VoIP) communication system including a local terminal device 10 in accordance with the present disclosure. In one embodiment, the VoIP communication system includes a plurality of terminal devices, such as the local terminal device 10 and a remote terminal device 20 , and a dynamic domain name service (DDNS) server 30 . The plurality of terminal device 10 , 20 are in electronic communication with the DDNS server 30 via a VoIP network 40 . The plurality of terminal devices 10 , 20 may be IP phones, notebook computers, tablet computers, or desktop computers, for example.

The DDNS server 30 includes a mapping table 31 . The mapping table 31 is a file (.txt, xls, etc.), and is operable to record domain names and IP addresses of the terminal devices 10 , 20 when the terminal devices 10 , 20 registers with the DDNS server 30 . The mapping table 31 includes a domain name field and an IP address field, respectively operable to record the domain names and the IP addresses of the terminal devices 10 , 20 .

In one exemplary embodiment, the local terminal device 10 has a local user 10 a and a local IP address. The local user 10 a has a local mail address that can be used to identify an email box to which email messages are delivered. An example format of the local mail address may be aaa@foxconn.com. When receiving a local mail address of the local user 10 a input by the local user 10 a , the local terminal device 10 converts the local mail address into a local domain name according to a hash function, and transmits the local domain name and the local IP address to the DDNS server 30 to register with the DDNS server 30 . In one embodiment, the hash function includes combining characters of the local mail address with a predefined string, such as “.myvoip.net”, to form the local domain name. For example, assuming that the local mail address is aaa@foxconn.com, the local domain name is aaafoxconncom.myvoip.net. After receiving the local domain name and the local IP address from the local terminal device 10 , the DDNS server 30 records the local domain name and the local IP address in the mapping table 31 .

In one exemplary embodiment, the remote terminal device 20 has a remote user 20 a and a remote IP address. The remote user 20 a has a remote mail address that can be used to identify an email box to which email messages are delivered. An example format of the remote mail address may be bbb@foxconn.com. When receiving a remote mail address of the remote user 20 a input by the remote user 20 a , the remote terminal device 20 converts the remote mail address into a remote domain name according to the hash function, and transmits the remote domain name and the remote IP address to the DDNS server 30 to register with the DDNS server 30 . In one embodiment, the hash function includes combining characters of the remote mail address with the predefined string, such as “.myvoip.net”, to form the remote domain name. For example, assuming that the remote mail address is bbb@foxconn.com, the remote domain name is bbbfoxconncom.myvoip.net. After receiving the remote domain name and the remote IP address from the remote terminal device 20 , the DDNS server 30 records the remote domain name and the remote IP address in the mapping table 31 .

When the local user 10 a wants to engage in a VoIP communication with the remote user 20 a , the local user 10 a can use the local terminal device 10 to call the remote terminal device 20 . In such a case, the local terminal device 10 receives the remote mail address of the remote user 20 a input by the local user 10 a , and then converts the remote mail address into the remote domain name according to the hash function. Afterwards, the local terminal device 10 queries the DDNS server 30 for the remote IP address corresponding to the remote domain name. After receiving the remote IP address from the DDNS server 30 , the local terminal device 10 exchanges VoIP signaling with the remote terminal device 20 according to the remote IP address. Afterwards, the local user 10 a can enjoy a VoIP communication with the remote user 20 a via the local terminal device 10 and the remote terminal device 20 .

It should be noted that the local terminal device 10 can store the remote IP address corresponding to the remote domain name that are successfully queried from the DDNS server 30 in a cache of the local terminal device 10 . Thus, the local terminal device 10 can obtain the same remote IP address corresponding to the same remote domain name from the cache, and does not need to re-query the DDNS server 30 for the same remote IP addresses corresponding to the same remote domain names.

In general, the local terminal device 10 can exchange VoIP signaling with the remote terminal device 20 without any media gateway controller (MGC), so the cost is reduced.

FIG. 2 is a schematic diagram of one embodiment of the local terminal device 10 including functional modules in accordance with the presentation disclosure. In one embodiment, functional modules of the local terminal device 10 is the same as those of the remote terminal device 20 , so only the functional modules of the local terminal device 10 are described hereinafter.

›DETAILED DESCRIPTION · 2 of 3

The local terminal device 10 includes a user interface 11 , a registration module 12 , a querying module 13 , a signaling exchanging module 14 , a storage system 16 , and at least one processor 17 .

The modules 12 - 14 may comprise computerized code in the form of one or more programs that are stored in the storage system 16 . The computerized code includes instructions that are executed by the at least one processor 17 to provide functions for the modules 12 - 14 . In one example, the storage system 16 may include a hard disk drive, a flash memory, a cache or another computerized memory device.

The user interface 11 is operable to receive a local mail address of the local user 10 a input by the local user 10 a . In one example, the local user 10 a can manually input the local mail address of the local user 10 a to the user interface 11 . In another example, the local user 10 a can store a plurality of local mail addresses of the local user 10 a , and then select one required local mail addresses from the plurality of local mail addresses. The user interface 11 is displayed on a display (not shown).

The registration module 12 is operable to convert the local mail address into a local domain name according to a hash function, and transmit the local domain name and a local IP address to the DDNS server 30 to register with the DDNS server 30 . In one embodiment, the hash function includes combining characters of the local mail address with a predefined string such as “.myvoip.net” to form the local domain name. For example, assuming that the local mail address is aaa@foxconn.com, the local domain name is aaafoxconncom.myvoip.net.

When the local user 10 a calls the remote user 20 a via the local terminal device 10 and the remote terminal device 20 , the user interface 11 is further operable to receive a remote mail address of the remote user 20 a input by the local user 10 a . The querying module 13 is operable to convert the remote mail address into a remote domain name according to the hash function, and query the DDNS server 30 for the remote IP address corresponding to the remote domain name.

The storage system 16 may include a plurality of history remote IP addresses corresponding to a plurality of history remote domain names. The plurality of history remote IP addresses are a list of IP addresses that are successfully queried from the DDNS server 30 . The querying module 13 is further operable to determine whether the remote IP address corresponding to the remote domain name is found in the storage system 16 . The querying module 13 obtains the remote IP address from the storage system 16 when the remote IP address is found in the storage system 16 . The querying module 13 queries the DDNS server 30 for the remote IP address corresponding to the remote domain name when the remote IP address is not found in the storage system 16 .

The signaling exchanging module 14 is operable to exchange VoIP signaling with the remote terminal device 20 according to the remote IP address. Then, the local user 10 a can enjoy a VoIP communication with the remote user 20 a via the local terminal device 10 and the remote terminal device 20 .

FIG. 3 is a flowchart of one embodiment of a registration method of the local terminal device 10 in accordance with the present disclosure.

In block S 102 , the user interface 11 receives a local mail address of the local user 10 a input by the local user 10 a.

In block S 104 , the registration module 12 converts the local mail address into a local domain name according to a hash function.

In block S 106 , the registration module 12 transmits the local domain name and the local IP address to the DDNS server 30 to register with the DDNS server 30 .

FIG. 4 is a flowchart of one embodiment of a method for exchanging VoIP signaling of the local terminal device 10 in accordance with the present disclosure.

In block S 200 , the user interface 11 receives a remote mail address of the remote user 20 a input by the local user 10 a.

In block S 202 , the querying module 13 converts the remote mail address into a remote domain name according to the hash function.

In block S 204 , the querying module 13 determines whether a remote IP address corresponding to the remote domain name is found in the storage system 16 .

In block S 206 , the querying module 13 obtains the remote IP address corresponding to the remote domain name from the storage system 16 if the remote IP address is found in the storage system 16 .

In block S 210 , the querying module 13 queries the DDNS server 30 for the remote IP address corresponding to the remote domain name if the remote IP address is not found in the storage system 16 .

In block S 212 , the querying module 13 receives the remote IP address from the DDNS server 30 .

In block S 208 , the signaling exchanging module 14 exchanges VoIP signaling with the remote terminal device 20 according to the remote IP address.

FIG. 5 is a transport diagram of one embodiment of a method for exchanging VoIP signaling in accordance with the present disclosure. In one embodiment, the local user 10 a calls the remote user 20 a via the local terminal device 10 and the remote terminal device 20 .

Initially, the local terminal device 10 receives a local mail address of the local user 10 a input by the local user 10 a , converts the local mail address into a local domain name according to a hash function, and transmits the local domain name and a local IP address to the DDNS server 30 to register with the DDNS server 30 .

Simultaneously, the remote terminal device 30 receives a remote mail address of the remote user 20 a input by the remote user 20 a , converts the remote mail address into a remote domain name according to the hash function, and transmits the remote domain name and the remote IP address to the DDNS server 30 to register with the DDNS server 30 .

When the local user 10 a calls the remote user 20 a , the local terminal device 10 receives the remote mail address of the remote user 20 a input by the local user 10 a , and converts the remote mail address into the remote domain name according to the hash function.

›DETAILED DESCRIPTION · 3 of 3

Then, the local terminal device 10 determines whether the remote IP address corresponding to the remote domain name is found in the storage system 16 .

The local terminal device 10 obtains the remote IP address corresponding to the remote domain name from the storage system 16 if the remote IP address is found in the storage system 16 .

Then, the local terminal device 10 exchanges VoIP signaling with the remote terminal device 20 according to the remote IP address. In detail, the local terminal device 10 transmits an invite to the remote terminal device 20 , and receives a 180 ringing response and 200 OK from the remote terminal device 20 .

Then, the local terminal device 10 enjoys a VoIP communication with the remote terminal device 20 . That is, the local terminal device 10 transmits real-time transport (RTP) stream to and receives RTP stream from the remote terminal device 20 .

When the VoIP communication is ended, the local terminal device 10 ends the VoIP signaling with the remote terminal device 20 . That is, the local terminal device 10 transmits Bye to the remote terminal device 20 , and receives 200 OK from the remote terminal device 20 .

FIG. 6 is a transport diagram of another embodiment of a method for exchanging VoIP signaling in accordance with the present disclosure. The method of FIG. 6 is similar to that of the FIG. 5 , and the difference is the means for obtaining the remote IP address corresponding to the remote domain name. In this embodiment, the remote IP address corresponding to the remote domain name is not found in the storage system 16 , so the local terminal device 10 queries the DDNS server 30 for the remote IP address corresponding to the remote domain name and receives the remote IP address from the DDNS server 30 . Other transport blocks of FIG. 6 is the same as those of FIG. 5 , so descriptions are omitted.

Thus, the local terminal device 10 can exchange the VoIP signaling with the remote terminal device 20 without any MGC, so the cost is reduced.

While various embodiments of the present disclosure have been described above, it should be understood that they have been presented using example and not using limitation. Thus the breadth and scope of the present disclosure should not be limited by the above-described embodiments, but should be defined in accordance with the following claims and their equivalents.

Claims as granted

5 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

5 codes
IPC · International Patent Classification
Section H — Electricity
  • H04L29/06
  • H04L12/58
  • H04L29/12
  • H04L12/66
USPC · US Patent Classification
370/352

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJul 2011Jan 2012Jul 2012Jan 2013Jul 2013Jan 2014Jul 2014Jan 2015USPTOApplicantNon-final rejectionExaminer-initiated interview
USPTOApplicanthover for detail · click to open
Pendency
3.3 y
1,205 days filing → grant
Office actions
1
non-final + final
Responses
1
no RCE
Interviews
1
examiner interview summaries
Examiner
Nicholas Jensen
art unit 2468 · TC 2400
Citations: 15 back · 0 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20122014201620182020202220242026202820302032Owner 1Owner 2
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock