Abstract:
A method and system are provided that enhance human/machine communication so as to more closely approximate natural human/human communication by more effectively establishing communications links for human-interactive media. Specifically, the speed and quality of the connection are improved by the method and system, resulting in a more natural user experience. The method includes receiving a Session Initiation Protocol (SIP) call request from an Endpoint (EP). The method determines an external address based on an internal address of the EP uniquely mapped to the external address and pre-distributed to SIP internal routers. The method includes modifying the SIP call request to replace the EP internal address with the EP external address. The method includes forwarding the EP external address to the EP. The method includes establishing a communication link for human-interactive media between the EP and the call provider, the EP using the EP external address, and the communication link not including the SIP Internal Router.

Description:
FIELD 
       [0001]    The present invention relates generally to network telephony, and more particularly to systems for establishing and maintaining human/machine communications links. 
       BACKGROUND 
       [0002]    Modern communication systems facilitate human-to-human communication at a distance. Compared with other information-bearing signals, direct human/human interaction, such as face-to-face speech, is relatively lag-free, noise-free, even, and stable. Accordingly, typical communications systems that support human/human speech are configured to minimize, or at least reduce, signal distortions such as lag, noise, unevenness, and instability. 
         [0003]    One popular approach to communication-at-a-distance is network telephony. Generally, network telephony systems exchange digital signals that represent speech. In some network telephony systems, the digital signals are the result of processing captured analog speech signals. In other network telephony systems, one or more of the digital signals are created by a machine as an original signal. 
         [0004]    Network telephony has grown in popularity, in part because of the advent of a standard protocol, the “Session Initiation Protocol (SIP).” Generally, some SIP systems follow certain protocols to establish and maintain communications links for human-interactive media. In some cases, the human-interactive media is provided by software systems that create synthesized speech for delivery to the human user. In other cases, the human-interactive media is speech generated by another human, digitized and transmitted on the network. Thus, SIP systems support both human/human and human/machine communication. 
         [0005]    These systems, however, suffer from numerous drawbacks. For example, humans are generally adept at filtering out signal distortion in ordinary face-to-face human/human communication, in part because visual information such as body language provides additional context. Humans are also much more skilled than machines in extracting meaning from distorted signals in human/human communication at-a-distance. 
         [0006]    In human/machine communications, however, signal distortions can cause significant problems in both signal processing and content extraction. For example, instable connections, suffering from high drop-out, can greatly degrade human/machine communication. The initial setup period is particularly vulnerable to signal distortions, requiring efficient connection setup of a link between the human interface device and the machine hosting the target application for human/machine communication. 
         [0007]    In typical prior art systems, Network Address Translation (NAT) is used to protect a private network from unwanted communications. Generally, NAT systems employ a list of private addresses for Endpoints within a private network. Typical NAT systems remap the private addresses to external Internet Protocol (IP) addresses, which are then used to contact devices outside of the private network. The NAT device keeps a list of the translated addresses and creates a secure connection to external devices, which do not know the internal addresses. The external devices communicate via the external IP addresses, through the NAT device, which forwards messages to the appropriate internal addresses. NAT systems sometimes also include port address translation (Network Address Port Translation, or NAPT), allowing for multiple devices to share the same external IP address, mapped to different ports. 
         [0008]    But typical NAT systems cannot achieve the call setup efficiencies necessary to support the lag-free, noise-free, even, and consistent sound that meaningful, intensive human/machine interactions require. This drawback is even more pronounced in environments using Advanced Interactive Media Applications, which require high performance processors with full interactive application drivers including application logic, application states, and speech recognition resources. Without sufficient operational NAT performance, the call setup process for a human/machine communications link can be so untimely as to cause unsatisfactory connection times and/or increased signal distortion, leading to impaired communications. 
       SUMMARY 
       [0009]    In a general aspect of the invention, a method is provided for establishing a communications link for human-interactive media. The method includes receiving a Session Initiation Protocol (SIP) call request from an Endpoint (EP), performed by an SIP Internal Router. The method includes determining an external address based on an internal address of the EP, performed by the SIP Internal Router, with each EP being one of a plurality of EPs, and each EP having a pre-configured internal address uniquely mapped to an external address. The method includes modifying the contents of the SIP call request to replace the EP internal address with the EP external address, performed by the SIP Internal Router and sending the modified SIP call request to a call provider identified in the SIP call request. The method includes, in the event the call provider accepts the SIP call request, forwarding the EP external address to the EP, performed by the SIP Internal Router. The method includes establishing a communication link for human-interactive media between the EP and the call provider, with the EP using the EP external address, and the communication link not including the SIP Internal Router. 
         [0010]    In a preferred embodiment, the SIP Internal Router includes a pre-configured map indicating a unique association of an internal address with an external address for each EP of the plurality of EPs. 
         [0011]    In another embodiment, a Network Address Translation (NAT) router couples to the SIP Internal Router, the NAT router including a pre-configured map indicating an unique association of an internal address with an external address for each EP of the plurality of EPs. The method includes translating source information of the modified call request from the SIP Internal Router to replace the EP internal address with the external address, performed by the NAT router. The method includes forwarding the modified and translated call request to the call provider, performed by the NAT router. The method includes facilitating the communication link between the EP and the call provider, performed by the NAT router. 
         [0012]    In still another embodiment, the method includes the SIP Internal Router being one of a plurality of SIP Internal Routers, each SIP Internal Router including a pre-configured map indicating a unique association of an internal address with an external address for each EP of the plurality of EPs. In another embodiment, a plurality of Network Address Translation (NAT) routers couple to the SIP Internal Router, each NAT router including a pre-configured map indicating a unique association of an internal address with an external address for each EP of the plurality of EPs. 
         [0013]    In yet another embodiment, a plurality of Network Address Translation (NAT) routers couple to the SIP Internal Router, each NAT router including a pre-configured map indicating a unique association of an internal address with an external address for each EP of the plurality of EPs. The SIP Internal Router is one of a plurality of SIP Internal Routers, each SIP Internal Router including a pre-configured map indicating a unique association of an internal address with an external address for each EP of the plurality of EPs. 
         [0014]    In still another embodiment, a plurality of Network Address Translation (NAT) routers couple to the SIP Internal Router, each NAT router including a pre-configured map indicating a unique association of an internal address with an external address for each EP of the plurality of EPs. The SIP Internal Router is one of a plurality of SIP Internal Routers, each SIP Internal Router including the pre-configured map, each SIP Internal Router being dedicated to the subset of EPs whose addresses are indicated on the map. 
         [0015]    In another general aspect of the invention, method is provided for establishing a communications link for human-interactive media. The method includes receiving a Session Initiation Protocol (SIP) call request from a call provider, performed by an SIP Internal Router. The method includes selecting an Endpoint (EP) of a plurality of EPs based on the SIP call request. The method includes determining an internal address of the EP, performed by the SIP Internal Router, each EP being one of a plurality of EPs, each EP having a pre-configured internal address uniquely mapped to an external address. The method includes determining whether the selected EP is available to accept the SIP call request, performed by the SIP Internal Router. The method includes, in the event the selected EP is available to accept the SIP call request, forwarding the EP external address to the EP, being performed by the SIP Internal Router. The method includes sending a communication packet for human-interactive media to the call provider, the EP using the EP external address, the communication link not including the SIP Internal Router. 
         [0016]    In a preferred embodiment, the SIP Internal Router includes a pre-configured map indicating the association of an internal address with an external address for each EP of the plurality of EPs. 
         [0017]    In another embodiment, a Network Address Translation (NAT) router couples to the SIP Internal Router, the NAT router including a pre-configured map indicating an unique association of an internal address with an external address for each EP of the plurality of EPs. The method includes translating source information of the modified call request from the SIP Internal Router to replace the EP internal address with the external address, performed by the NAT router. The method includes forwarding the modified and translated call request to the call provider, performed by the NAT router. The method includes facilitating the communication link between the EP and the call provider, performed by the NAT router. 
         [0018]    In still another embodiment, the SIP Internal Router is one of a plurality of SIP Internal Routers, each SIP Internal Router including a pre-configured map indicating the association of an internal address with an external address for each EP of the plurality of EPs. In another embodiment, a plurality of Network Address Translation (NAT) routers couple to the SIP Internal Router, each NAT router including a pre-configured map indicating the association of an internal address with an external address for each EP of the plurality of EPs. 
         [0019]    In yet another embodiment, a plurality of Network Address Translation (NAT) routers couple to the SIP Internal Router, each NAT router including a pre-configured map indicating the association of an internal address with an external address for each EP of the plurality of EPs. The SIP Internal Router is one of a plurality of SIP Internal Routers, each SIP Internal Router including a pre-configured map indicating the association of an internal address with an external address for each EP of the plurality of EPs. 
         [0020]    In still another embodiment, a plurality of Network Address Translation (NAT) routers couple to the SIP Internal Router, each NAT router including a pre-configured map indicating the association of an internal address with an external address for each EP of the plurality of EPs. The SIP Internal Router is one of a plurality of SIP Internal Routers, each SIP Internal Router including the pre-configured map, each SIP Internal Router being dedicated to the subset of EPs having addresses that are included in the map. 
         [0021]    In another general aspect of the invention, an apparatus is provided for establishing a communications link for human-interactive media. The apparatus includes a plurality of Endpoints (EPs), each EP having a pre-configured unique internal address and a unique external address, each EP being configured to send a call request, each call request indicating a target and including the internal address of the sending EP. The apparatus includes an SIP Internal Router coupled to the plurality of EPs, the SIP Internal Router including a pre-configured map indicating internal and external addresses of each EP. The SIP Internal Router is configured to modify each call request to replace the internal address of the EP with the external address of the EP sending the call request. The apparatus includes a Network Address Translation (NAT) router coupled to the SIP Internal Router and to the plurality of EPs, the NAT router being configured to send each modified call request to the target indicated in the call request. The NAT router is further configured to receive a response from the target, the response indicating whether the target accepts the call request, and the NAT router is further configured to send the response to the SIP Internal Router. The SIP Internal Router is further configured to send the response and the external address to the EP sending the call request corresponding to that response. The EP is further configured to send a communication packet for human-interactive media to the target, the communication packet including the external address, and the SIP Internal Router not receiving the communication packet. 
         [0022]    In a preferred embodiment, the SIP Internal Router includes a pre-configured map indicating the association of an internal address with an external address for each EP of the plurality of EPs. In one embodiment, the NAT router includes a pre-configured map indicating the association of an internal address with an external address for each EP of the plurality of EPs. 
         [0023]    In another embodiment, the SIP Internal Router is one of a plurality of SIP Internal Routers, each SIP Internal Router including a pre-configured map indicating the association of an internal address with an external address for each EP of the plurality of EPs. In another embodiment, a plurality of Network Address Translation (NAT) routers couple to the SIP Internal Router, each NAT router including a pre-configured map indicating the association of an internal address with an external address for each EP of the plurality of EPs. 
         [0024]    In still another embodiment, a plurality of Network Address Translation (NAT) routers couple to the SIP Internal Router, each NAT router including a pre-configured map indicating the association of an internal address with an external address for each EP of the plurality of EPs. The SIP Internal Router is one of a plurality of SIP Internal Routers, each SIP Internal Router including the pre-configured map. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWING 
         [0025]    The invention will be more fully understood from the following detailed description, in conjunction with the following figures, wherein: 
           [0026]      FIG. 1  is a block diagram showing an embodiment of the invention for communicating human-interactive media via the Internet to and from a plurality of call providers; 
           [0027]      FIG. 2  is a protocol diagram showing a protocol for establishing an outbound communications link for human-interactive media; 
           [0028]      FIG. 3  is a high-level flow diagram depicting logical operational steps of a method for establishing an outbound communications link for communicating human-interactive media; 
           [0029]      FIG. 4  is a protocol diagram showing a protocol for establishing an inbound communications link for human-interactive media; and 
           [0030]      FIG. 5  is a high-level flow diagram depicting logical operational steps of a method for establishing an inbound communications link for communicating human-interactive media. 
       
    
    
     DETAILED DESCRIPTION 
       [0031]      FIG. 1  is a high-level block diagram illustrating an embodiment of the invention connected to a network  112  so as to provide communication between the invention and a plurality of call providers  114 . External network  100  includes network  112  and a plurality of call providers coupled to network  112 . Network  112  can be the Internet, a wide-area network, a public switched telephone network, or any other suitable network configured to support internet protocol (IP) based switching. Call providers  114  are each otherwise conventional call providers, configured to provide voice-over-IP (VoIP) services to an end user (not shown). 
         [0032]    System  102  includes a plurality of network interfaces  110 , each coupled to network  112 . Generally, each network interface  110  is an otherwise conventional network interface, configured to route IP packets between network  112  and various components of system  102 , as described in more detail below. Specifically, each interface  110  couples to one or more SIP Internal Routers  120 , one or more EndPoints (EP)  130 , and at least one Job Initiation Service (WS)  140 . Additionally, as described in more detail below with reference to  FIG. 2 , in one embodiment, each interface  110  maintains a complete one-to-one static assignment of internal addresses (IP addresses with or without port assignments) to external addresses (with or without port assignments) for a group of EPs  130 . 
         [0033]    Generally, each SIP Internal Router  120  establishes end-to-end communication links between a call provider  114  and a particular EP  130 , as described in more detail below. In the illustrated embodiment, each SIP Internal Router  120  operates independently. In one embodiment, each SIP Internal Router  120  is configured to be added to or removed from system  102  without causing performance disruptions that significantly affect the system. As described in more detail below with reference to  FIG. 2 , in one embodiment, each SIP Internal Router  120  maintains a complete one-to-one static assignment mapping of internal addresses (IP addresses with or without port assignments) to external addresses (with or without port assignments) for a group of EPs  130 . 
         [0034]    Generally, each EP  130  is an otherwise conventional, SIP-enabled, computer-based, or server-based, host, and is configured to provide application service resources. In one embodiment, an application service resource is any suitable resource configured to deliver or support human-interactive media. In one embodiment, each EP  130  is state-full and dedicated/attached for interaction with a human. In the illustrated embodiment, each EP  130  operates independently, and individual EPs  130  can be added, removed, or otherwise altered without substantial performance degradation of the operation of the other system components. 
         [0035]    In the illustrated embodiment, each SIP Internal Router  120  couples to a particular subset of all of the EPs  130  in system  102 . In one embodiment, each SIP Internal Router  120  couples to every EP  130  in system  102 . In one embodiment, each SIP Internal Router  120  couples to a predetermined subset of all of the EPs  130  in system  102 . In one embodiment, each SIP Internal Router  120  couples to a dynamically assigned subset of all of the EPs  130  in system  102 . In one embodiment, each SIP Internal Router  120  couples to an exclusive subset of all of the EPs  130  in system  102 . In an alternate embodiment, each SIP Internal Router  120  couples to a subset of all of the EPs  130  in system  102 , and that subset includes one or more EPs  130  also coupled to another SIP Internal Router  120 . 
         [0036]    In each case, however, each SIP Internal Router  120  maintains a complete one-to-one address map for all of the EPs  130  directly connected to that SIP Internal Router  120 . The complete one-to-one address map is a pre-distributed static network address map. In one embodiment a pre-distributed static network address map is a copy of a NAT table held by interface  110 , as described in more detail below. Generally, a pre-distributed static network address map is propagated to SIP Internal Router  120  before SIP Internal Router  120  requires access to the information contained therein, such as, for example, in response to an SIP call request. As used herein, an SIP Internal Router  120  is directly connected to an EP  130  when the SIP Internal Router  120  can transmit an addressed packet to that EP  130  without sending the addressed packet to another router. 
         [0037]    Similarly, in the illustrated embodiment, each interface  110  couples to a particular subset of SIP Internal Routers  120  of all the SIP Internal Routers  120  in system  102 . In one embodiment, each interface  110  couples to every SIP Internal Router  120  in system  102 . In one embodiment, each interface  110  couples to a predetermined subset of all of the SIP Internal Routers  120  in system  102 . In one embodiment, each interface  110  couples to a dynamically assigned subset of all of the SIP Internal Routers  120  in system  102 . In one embodiment, each interface  110  couples to an exclusive subset of all of the SIP Internal Routers  120  in system  102 . In an alternate embodiment, each interface  110  couples to a subset of all of the SIP Internal Routers  120  in system  102 , and that subset includes one or more SIP Internal Routers  120  also coupled to another interface  110 . 
         [0038]    In each case, however, each interface  110  maintains a complete one-to-one address map for all of the EPs  130  directly connected to each SIP Internal Router  120  that is itself directly connected to that interface  110 . As used herein, an SIP Internal Router  120  is directly connected to an interface  110  when the SIP Internal Router  120  can transmit an addressed packet to that interface  110  without sending the addressed packet to another router. 
         [0039]    Very generally, system  102  receives a call request, requesting establishment of a communications link between system  102  and a target call provider  114 . The request includes certain link characteristics, such as support for a particular application service resource, and includes an external address for a specific EP  130 . Interface  110  translates the external address in the call request IP header to obtain the internal address of the target EP  130 . Interface  110  routes the call request to the SIP Internal Router  120  servicing the target EP  130 . 
         [0040]    The SIP Internal Router  120  translates the external address in the call request SIP header to obtain the internal address of the target EP  130 , and if the target EP  130  accepts the request, establishes a communications link between the selected EP  130  and the target call provider  114 , using the external address. Having established the communications link, EP  130  and call provider  114  communicate “directly”, that is, without including SIP Internal Router  120  in the communication path. 
         [0041]    Generally, an in-bound request (provider-to-endpoint) is initiated by a call provider  114  sending a request to a SIP Internal Router  120  (through network  112  and interface  110 ). Similarly, an out-bound request (endpoint-to-provider) is initiated by Job Initiation Service (JIS)  140  sending a request to a SIP Internal Router  120  (through interface  110 , or directly). In one embodiment, an out-bound request includes a ‘refer-to’ address designating a target call provider  114  and uses the internal address of the EP  130  on whose behalf JIS  140  is requesting the call setup. Generally, the components of system  102  operate as described in more detail with respect to  FIGS. 2-5 , below. 
         [0042]      FIG. 2  is a protocol diagram illustrating a protocol  200  for establishing an outbound communications link for human-interactive media in accordance with one embodiment. Specifically,  FIG. 2  illustrates the interaction of interface  110 , call provider  114 , SIP Internal Router  120 , EP  130 , and JIS  140  as a communications link is established between EP  130  and call provider  114 . 
         [0043]    As indicated at ( 1 ), EP  130  initiates an SIP call request, sending a call request to SIP Internal Router  120 . In one embodiment, JIS  140  initiates an SIP call request on the behalf of EP  130 . In both cases, the call request identifies a target call provider  114  and identifies EP  130  using an internal address for that EP  130 . In one embodiment, the call request includes an SIP header. 
         [0044]    In the illustrated embodiment, EP  130  includes a call host  230 . Generally, call host  230  is an otherwise conventional call host, configured to support lines of service for human-interactive media. Generally, call host  230  is configured to control operation of otherwise conventional human-interactive media servers that are collectively configured to provide application service resources. 
         [0045]    SIP Internal Router  120  receives the SIP call request and translates the EP  130  internal address in the SIP header to the EP  130  external address. In one embodiment, each EP  130  in system  102  is identified by a unique internal IP address, which is uniquely mapped to an external IP address. In one embodiment, each EP  130  in system  102  is identified by a unique combination of internal IP address and port, and the combination is uniquely mapped to an external IP address. In one embodiment, each EP  130  in system  102  is identified by a unique combination of internal IP address and port, and the combination is uniquely mapped to a unique combination of external IP address and port. In one embodiment, every internal IP address/port maps in a one-to-one association with a statically assigned external IP address/port. 
         [0046]    In the illustrated embodiment, SIP Internal Router  120  maintains a compilation of the one-to-one address mapping in an address map  220 . In one embodiment, address map  220  is a lookup table. Generally, address map  220  can be configured with any suitable data structure. In one embodiment, address map  220  includes the one-to-one address mapping of every EP  130  in system  102 . In an alternate embodiment, address map  220  includes the one-to-one address mapping of every EP  130  directly connected to SIP Internal Router  120 . 
         [0047]    SIP Internal Router  120  modifies the call request SIP header to replace the EP  130  internal address with the corresponding external IP address. As indicated at (2), interface  110  passes the call request to a SIP Internal Router  120 . 
         [0048]    Interface  110  receives the SIP call request from SIP Internal Router  120  and prepares the SIP call request for transmission over the Internet to the target call provider  114 . In one embodiment, interface  110  encapsulates the SIP call request with an IP header. In one embodiment, interface  110  translates the EP  130  internal address in the IP header to the EP  130  external address. In an alternate embodiment, interface  110  generates the IP header using the EP  130  external address. 
         [0049]    In the illustrated embodiment, interface  110  maintains a compilation of the one-to-one address mapping in an address map  210 . In one embodiment, address map  210  is a lookup table. Generally, address map  210  can be configured with any suitable data structure. In one embodiment, address map  210  includes the one-to-one address mapping of every EP  130  in system  102 . In an alternate embodiment, address map  220  includes the one-to-one address mapping of every EP  130  directly connected to each SIP Internal Router  120  that is itself directly connected to interface  110 . 
         [0050]    As indicated at (3), interface  110  forwards the SIP call request to the target call provider  114 . In the event the target call provider  114  accepts the call, call provider  114  transmits a response accepting the call request, as indicated at ( 4 ). Next, as indicated at ( 5 ), interface  110  notifies SIP Internal Router  120  that the target call provider  114  accepts the SIP call request. 
         [0051]    Next, as indicated at ( 6 ), SIP internal Router  120  notifies EP  130  that the SIP call request has been accepted. Additionally, SIP Internal Router  120  notifies EP  130  of the external address corresponding to that EP  130  internal address. In one embodiment, SIP Internal Router  120  notifies EP  130  of the external address through an SIP header in the message notifying EP  130  of call acceptance. SIP Internal Router  120  also establishes a media communications link on behalf of EP  130 . 
         [0052]    As indicated at (7), EP  130  communicates along a communications link with interface  110 , using the EP  130  external address. As indicated at (8), interface  110  communicates along a communications link with call provider  114 , also using the EP  130  external address. 
         [0053]    As indicated at (7), EP  130  communicates with call provider  114  through interface  110 , and not through SIP Internal Router  120 . That is, in one embodiment, SIP Internal Router  120  is only responsible for establishing the communications link, and drops out of the communication messaging path once the call request is accepted and the communications link is established. In one embodiment, SIP Internal Router  120  establishes a direct end-to-end connection between call provider  114  and the selected EP  130 . As such, in one embodiment, SIP Internal Router  120  is not required to maintain a call state or proxy media streams to support the communications link. 
         [0054]    Thus, protocol  200  provides a system configured to establish NAT-capable SIP communications links based on a complete one-to-one mapping embodied in an address map by SIP Internal Router  120  and interface  110 . As described above, systems embodying protocol  200  can be configured to respond quickly and efficiently to call requests, by dividing the address translation task between interface  110  and SIP Internal Router  120 , in a completely-mapped address space. 
         [0055]      FIG. 3  is a flow diagram depicting logical operational steps of a method for establishing a communications link for communicating human-interactive media. As indicated at block  305 , the process begins and SIP Internal Router  120  receives an SIP call request from an EP  130  (or JIS on behalf of an EP  130 ) that uses the pre-configured EP  130  internal address. 
         [0056]    Next, as indicated at block  310 , SIP Internal Router  120  determines the EP  130  external address using the EP  310  internal address. As described above, in one embodiment, SIP Internal Router  120  determines the EP  310  external address though information contained in an address map  220 . Next, as indicated at block  315 , SIP Internal Router  120  modifies the SIP call request to replace the EP internal address with the EP external address. 
         [0057]    Next, as indicated at block  320 , interface  110  sends the modified SIP call request to the target call provider  114 . As described above, in one embodiment, interface  110  uses an IP header including the EP  130  external address to send the modified SIP call request to the target call provider  114 . 
         [0058]    Next, as indicated at decisional block  325 , SIP Internal Router  120  forwards the EP  130  external address to EP  130 . As described above, in one embodiment, SIP Internal Router  120  forwards the EP  130  external address through an SIP header notifying EP  130  that the SIP call request has been accepted. 
         [0059]    Next, as indicated at block  330 , SIP Internal Router  120  establishes a communications link between the selected EP  130  and call provider  114 , and the process ends. As described above, the established communications link does not include SIP Internal Router  120 . EP  130  communicates with call provider  114  using the EP external address. 
         [0060]      FIG. 4  is a protocol diagram illustrating a protocol  400  for establishing an inbound communications link for human-interactive media in accordance with one embodiment. Specifically,  FIG. 3  illustrates the interaction of interface  110 , call provider  114 , SIP Internal Router  120 , and EP  130  as a communications link is established between EP  130  and call provider  114 . 
         [0061]    As indicated at (1), interface  110  receives a SIP call request, identifying a target EP  130  by the EP  130  external address. In one embodiment, interface  110  translates the EP  130  external address to the associated EP  130  internal address. As indicated at (2), interface  110  forwards the SIP call request to an SIP Internal Router  120  directly coupled to the target EP  130 . 
         [0062]    SIP Internal Router  120  receives the SIP call request and translates the EP  130  external address in the SIP header (of the SIP call request) to the EP  130  internal address. SIP Internal Router  120  forwards the call request to the EP  130  for acceptance or rejection by the target EP  130 . 
         [0063]    As indicated at (3), if the target EP  130  accepts the call request, SIP Internal Router  120  forwards the EP  130  external address to the target EP  130 . SIP Internal Router  120  also establishes a media communications link on behalf of EP  130 . 
         [0064]    As indicated at (4), EP  130  communicates along a communications link with interface  110 , using the EP  130  external address. As indicated at (5), interface  110  communicates along a communications link with call provider  114 , also using the EP  130  external address. 
         [0065]    As indicated at (4), EP  130  communicates with call provider  114  through interface  110 , and not through SIP Internal Router  120 . That is, in one embodiment, SIP Internal Router  120  is only responsible for establishing the communications link, and drops out of the communication messaging path once the call request is accepted and the communications link is established. In one embodiment, SIP Internal Router  120  establishes a direct end-to-end connection between call provider  114  and the selected EP  130 . As such, in one embodiment, SIP Internal Router  120  is not required to maintain a call state or proxy media streams to support the communications link. 
         [0066]    Thus, protocol  400  provides a system configured to establish NAT-capable SIP communications links based on a complete one-to-one mapping embodied in an address map by SIP Internal Router  120  and interface  110 . As described above, systems embodying protocol  400  can be configured to respond quickly and efficiently to call requests, by dividing the address translation task between interface  110  and SIP Internal Router  120 , in a completely-mapped address space. 
         [0067]      FIG. 5  is a flow diagram depicting logical operational steps of a method for establishing a communications link for communicating human-interactive media. As indicated at block  505 , the process begins and SIP Internal Router  120  receives an SIP call request from a call provider, identifying a target EP  130  by the EP  130  external address. 
         [0068]    Next, as indicated at block  510 , SIP Internal Router  120  determines the EP  130  internal address using the EP  310  external address. As described above, in one embodiment, SIP Internal Router  120  determines the EP  310  internal address though information contained in an address map  220 . Next, as indicated at block  515 , SIP Internal Router  120  determines whether the target EP  130  is available to accept the SIP call request. 
         [0069]    Next, as indicated at block  520 , if the target EP  130  is available, SIP Internal Router  120  forwards the SIP call request and the EP external address to the target EP  130 . In one embodiment, SIP Internal Router  120  forwards the EP  130  external address through an SIP header. 
         [0070]    Next, as indicated at block  525 , SIP Internal Router  120  establishes a communications link between the selected EP  130  and call provider  114 , and the process ends. As described above, the established communications link does not include SIP Internal Router  120 . EP  130  communicates with call provider  114  using the EP external address. 
         [0071]    Thus, as described above, the embodiments disclosed herein provide static mapping of EP  130  addresses, with the interface  110  and SIP Internal Router  130  each maintaining complete address translation information. So configured, the embodiments disclosed herein can be configured for fast SIP-aware communication with a large collection of EPs  130 . Additionally, in one embodiment, static mapping also allows for the call providers  114  to be aware of exactly which IP address and/or port ranges they will be receiving messages from, increasing security on the far end. 
         [0072]    Additionally, the disclosed embodiments provide SIP headers configured to convey the EP external address to an EP  130 . So configured, the SIP reduces the node distance between the EP  130  and call provider  114 , allowing a secure media connection for communication directly through interface  110 . 
         [0073]    As such, the embodiments disclosed herein offer advantages over previous systems and methods. For example, commonly used NATs can be configured for dynamic mapping of a small number of shared IP Endpoints, as described in U.S. Pat. No. 7,522,617, for example. Dynamic mapping, however, is not suitable for systems with a large number of internal Endpoints. In such systems, dynamic mapping is slow and cannot fully utilize all resources. The embodiments disclosed herein provide for static mapping and improved call setup in SIP systems for human/machine communication. 
         [0074]    Some systems have attempted static mappings, hoping to achieve a faster alternative for a large IP port space. Simple IP routers can implement static mapping, but simple IP routers lack SIP awareness, which is essential for end-to-end media connection. Without SIP support, static mapping cannot meet the requirements for adequate human/machine communication. The embodiments disclosed herein provide for static mapping and improved call setup in SIP systems for human/machine communication. 
         [0075]    U.S. Pat. No. 7,624,195 describes another approach: distributing the NAT functions to other network devices, such as an internal router. In such systems, the internal router requests an external IP address and port range from the NAT, and then uses the returned address information to translate message content. The internal router forwards the message to the NAT, where the NAT translates IP address information according to the same network translation information. This approach can be implemented using either a dynamic mapping or static mapping, but both types of mapping suffer from drawbacks. 
         [0076]    For example, in typical static mapped systems using this approach, the NAT device keeps the entire address translation table, and translation information is only given to the internal router for each connection request. This connection set-up involves an extra step, where the internal router must request information from the NAT device, introducing delay in the time to connect, which degrades performance. In dynamic mapped systems, the problem is even worse, because the mappings change over time. But the embodiments disclosed herein provide for static mapping and improved call setup in SIP systems for human/machine communication. 
         [0077]    Additionally, without SIP functionality, the process of connecting two devices in separate firewall-protected networks becomes more involved. For example, U.S. Pat. No. 7,522,594 describes a first network predicting the firewall that protects a second network by sending multiple messages to probe the mapping mechanism of a NAT. But the embodiments disclosed herein provide for static mapping and improved call setup in SIP systems for human/machine communication, which makes firewall prediction unnecessary as the SIP headers disclosed herein can be configured to contain external IP address information. As such, messages sent from interface  110 , can be configured to include a reply-to address that opens a channel through which messages can route back to the original sender (i.e., EP  130 ). 
         [0078]    Accordingly, the embodiments disclosed herein provide a complete mapping of internal resources by complete enumeration of ports/IPs in a static NAT collection, which, when coupled with address translation at the internal router level provides direct, high-quality, firewalled, SIP-enabled media routing. Further, complete one-to-one static assignment of the entire cloud of resources provides peak utilization. As such, the embodiments disclosed herein reduce setup lag and potential packet loss, improving human/machine communication reliability. 
         [0079]    Other modifications and implementations will occur to those skilled in the art without departing from the spirit and scope of the invention as claimed. Accordingly, the above description is not intended to limit the invention except as indicated in the following claims.