Abstract:
Example methods, apparatus and articles of manufacture to determine routing for identical virtual private network (VPN) numbers assigned to multiple companies are disclosed. A disclosed example method includes receiving a query from a switch module to determine routing information for a call initiated by a calling party, the query including dialed digits, a calling party identifier, and a route identifier representative of a route via which the call was initiated, selecting a private VPN number look-up table from a plurality of private VPN number look-up tables based on the calling party identifier, and to perform a lookup within the selected private VPN number look-up table based on a portion of the dialed digits and the route identifier, the lookup to identify the routing information associated with the dialed digits, and transmitting the routing information to the switch module.

Description:
RELATED APPLICATION 
       [0001]    This patent arises from a continuation of U.S. patent application Ser. No. 11/016,355, entitled “Virtual Private Network Dialed Number Nature of Address Conversion,” which was filed on Dec. 17, 2004, and which is hereby incorporated by reference in its entirety. 
     
    
     BACKGROUND 
       [0002]    The world has changed a lot in the last couple of decades. Instead of simply dealing with local or regional concerns, many businesses now have to think about global markets and logistics. Many companies have facilities spread out across the country or around the world. To connect between these facilities these companies have used dedicated private networks, such as a plurality of centrex or private branch exchanges (PBXs) tied together by dedicated lines. These networks, however, require high capital costs and create maintenance headaches. 
         [0003]    Virtual private networks (VPNs) have been created to reduce the need for dedicated private networks. A VPN is a software-defined network offering the appearance, functionality and usefulness of a dedicated private network, at a significant price savings. 
       SUMMARY 
       [0004]    More and more companies are establishing VPNs to interconnect their offices. VPN customers can also utilize the 700+7 digits dialing as part of their VPN dial plan. As such, the amount of 700+7 digit numbers used as VPN numbers that are available can become exhausted for any VPN service provider. A need exists to allow identical VPN numbers to be assigned to multiple companies or business groups, thereby creating an inexhaustible amount of VPN numbers. 
         [0005]    The present invention provides a method and system for handling identical VPN numbers assigned to multiple companies using a nature of address/number identifier initiated as public. The method can include receiving a query from a switch module to determine routing information for a call initiated by a calling party, the query including dialed digits with a nature of address identifier, a calling party identifier, and then updating the nature of address identifier associated with dialed digits to a private type code if a VPN coding identifier is determined present, looking up routing information associated with the dialed digits in a look-up table corresponding to the calling party identifier if the nature of address identifier includes the private type code, and transmitting the routing information to the switch module. The call can be initiated using a voice over internet protocol device. 
         [0006]    The VPN coding identifier can be determined present when a length of the dialed digits equals a predetermined length and a portion of the dialed digits corresponds to the VPN coding identifier. The portion of the dialed digits can be the leading three digits of the dialed digits and the VPN coding identifier can be “7” “0” “0”. The calling party identifier is associated with a VPN business group associated with the calling party. The look-up table can be a private number look-up table associated with the VPN business group. 
         [0007]    The invention has many advantages. For example, the invention eliminates the requirement to enter a VPN (700)+seven digit (7D) number in a public number table. Elimination of the VPN+7D number from the public number table allows VPN service requests to bypass a public number lookup table for VPN+7D numbers, thereby allowing identical VPN+7D numbers for multiple VPN customer-specific private number tables. That is, each private number table entry for a VPN+7D number can specify a route set independent of another customer&#39;s routing for the same dialed VPN+7D number. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0008]    The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. 
           [0009]      FIG. 1  is a schematic diagram of a network  100  capable of implementing the invention; and 
           [0010]      FIGS. 2A and 2B  illustrate a flow chart of an embodiment of the steps of the invention performed from call initiation to call termination. 
       
    
    
     DETAILED DESCRIPTION 
       [0011]    A description of preferred embodiments of the invention follows. 
         [0012]    Telecommunications networks use switches to process calls and set-up connections. The switches need to communicate with one another in order to accomplish this function. These communications between switches are known as signaling. A well-known example of signaling is Signaling System #7 (SS7). Signaling is different than the actual user traffic transported over the connections set-up by a call. Signaling is the communications which occur in order to set-up and tear down call connections. 
         [0013]    Signaling has attained additional functionality with the evolution of what is called the advanced intelligent network (AIN). In the AIN, switches are supported by external processors and databases. Switches process the signaling they receive to process calls. During this processing, the switch CPU may recognize that it needs the support of external processing or data. To obtain this support, the switch CPU and signaling point will generate a new signaling message to send to an external processor. The new signaling message is known as a query. The external processor will process the query and respond to the same switch with a signal containing additional information to support the switch. 
         [0014]    One example of an AIN operation is the VPN initiated call. For VPN calls, a switch will receive a call set-up message including the dialed number. In SS7, this is an initial address message (IAM). The switch would process the LAM until it recognized that the calling party number had a VPN identifier (in this case the originating entity; calling/charge party number), and that the switch would require support from an external database to obtain a standard telephone number or other routing information it can use to route the call. This act of recognition is known as a trigger. The standard telephone number is known colloquially as a plain old telephone service (POTS) number. As such, the switch would generate a signaling message to send to an external database. In SS7, this is a transaction capabilities application part (TCAP) message and is commonly known as a query. The external processor that receives the TCAP query is known as a service control point (SCP). The SCP analyzes the query and typically responds to the switch with the appropriate POTS number or network trunk route information. The switch can then process the call in a conventional fashion. 
         [0015]    Generally, the subject invention uses the Advanced Intelligent Network to connect multiple calls from different companies having an identical called number (10 digit). That is, different users from different companies can dial the same number and be connected to an associated number or destination within the user&#39;s respective company. 
         [0016]      FIG. 1  is a schematic diagram of a network  100  capable of implementing the invention. It should be understood that the network  100  is shown for simplicity only. The network  100  consists, for example, of four locations A-D for one company ( 110 ,  120 ,  130 , and  140  respectively). Each location (A-D) includes a plurality of telephone devices. For example, location A  110  may include telephone devices  112   a  . . .  112   n,  location B  120  may include telephone devices  122   a  . . .  122   n,  location C  130  may include telephone devices  132   a  . . .  132   n,  and location D  140  may include telephone devices  142   a  . . .  142   n.  These locations (A-D) are interconnected through the company&#39;s chosen interexchange carrier network (IXC)  150  via local exchange carries (LECs)  114 ,  144  or through private branch exchanges (PBXs) or customer premise equipment (CPE)  124 ,  134 . Interconnection between these locations is known in the art. 
         [0017]    In an embodiment, the telephone devices  112 ,  122 ,  132 , and  142  may be voice over internet protocol (VOIP) devices which connect to the IXC  150  through a VOIP gateway contained within the LECs  114 ,  144  and or the PBX/CPEs  124 ,  134 . 
         [0018]    The IXC  150  includes signal switching points (SSPs)  152 ,  154  interconnected via an Inter-Machine Trunk (IMT)  168 . These SSPs may be for IXC tandem switches for example. The IXC  150  also includes signal transfer points (STPs)  158   a  . . .  158   n  and signal control points (SCPs)  160   a  . . .  160   n.  The STPs  158   a  . . .  158   n  shuttle messages between the SSPs  152 ,  154  and the SCPs  160   a  . . .  160   n.  These messages are typically communicated using out of band signaling, such as signaling system 7 (SS7) protocol. 
         [0019]    By way of a general example, the user at location A  110  places a call using a telephone  112  to a telephone (or VOIP device) at location D  140 , by dialing a ten digit number (e.g., 700-220-4438). Associated with the dialed number are a nature of address/number identifier, and a calling party VPN identifier. The VPN identifier can be the calling party number, a remote access number or a trunk group. Although “700” is used in this example, one skilled in the art would recognize that any number can be used as the VPN identifier. 
         [0020]    The LEC  114  (or VOIP gateway) switch routes the dialed number to the SSP  152 . The SSP  152  triggers on the VPN identifier and sends a query  164  over the SS7 signal link to the SCP  160 . The SCP  160  determines a translated routing number (e.g., 734-636-3222) based on the dialed number and the calling party which is the VPN identifier. The SCP  160  may also determine billing information at this point. 
         [0021]    The SCP  160  then sends a response  166  with the billing information and the translated routing number to the SSP  152 . The SSP  152  then routes the call over the IMT  168  to the SSP  154 . 
         [0022]    The SSP  154  then routes  170  the call to the LEC  144  switch. The LEC  144  switch then routes the call to the called party 734-636-3222 at location D  140  on telephone  142   n  (or VOIP device). 
         [0023]      FIGS. 2A and 2B  is a flow chart of an embodiment of the steps performed from call initiation to call termination. Three types of access are shown: remote access  200   a,  switched access  200   b,  and dedicated access  200   c.  VOIP access is well known in the art and is not shown for simplicity. 
         [0024]    For remote access  210   a,  the LEC ( 114   FIG. 1 ) receives an off-hook signal. The LEC then sends a dial tone to the originating telephone. A customer dials a remote access number which includes a plurality of dialed digits (e.g. 800-555-1234). The remote access number may be a toll free number (TFN). The LEC receives the plurality of dialed digits (e.g. 800-555-1234) at step  210   a.  The LEC then performs a lookup in a TFN national service management system (SMS) database to determine routing information associated with the dialed digits at step  220   a.  The LEC then routes the call to the appropriate IXC (SSP  152 ,  FIG. 1 ). The SSP determines if the customer is requesting VPN service at step  230   a.  The customer is prompted for an authentication number and if authenticated, the called number (e.g., 700-220-4438) at step  236 . The SSP then launches a query to the SCP ( 160   FIG. 1 ) requesting routing information at step  240   a.  The SCP may be an advanced intelligent network (AIN). The query may include the TFN or universal access number and the called number. The remaining process will be discussed below with reference to  FIG. 2B . 
         [0025]    For switched access  210   b,  the LEC ( 114   FIG. 1 ) receives an off-hook signal. The LEC then sends a dial tone to the originating telephone. A customer dials a plurality of dialed digits (e.g. 1-700-220-4438). The LEC receives the plurality of dialed digits (e.g. 1-700-220-4438) at step  210   a.  Information included in the call setup is a calling party identifier and a called party number with a nature of address/number identifier. The LEC then determines which primary interexchange carrier (PIC) is associated with the call at step  220   b.  The LEC then routes the call to the associated IXC (SSP  152 ,  FIG. 1 ). The SSP determines if the customer is requesting VPN service at step  230   b.  The determination is based on an IXC identifier, for example SBC Long Distance (SBCLD), and VPN automatic number identification (ANI). If SBCLD and VPN ANI are present, the SSP launches a query to the SCP ( 160   FIG. 1 ) requesting routing information at step  240   b.  The SCP may be an advanced intelligent network (AIN). The query may include the calling party identification/charge number and the dialed number (e.g. 700-220-4438) with a nature of address/number identifier (public). The remaining process will be discussed below with reference to  FIG. 2B . 
         [0026]    For dedicated access  210   c,  the IXC (SSP  152   FIG. 1 ) receives an off-hook signal. The IXC then sends a dial tone to the originating telephone. A customer dials a plurality of dialed digits (e.g. 1-700-220-4438). The IXC receives the plurality of dialed digits (e.g. 1-700-220-4438) at step  210   c.  Information included in the call setup is a calling party identifier and a called party number with a nature of address/number identifier. The IXC determines if the customer is requesting VPN service at step  230   c.  The determination is based on a VPN identifier and switch identification (SwID)/trunk group number (TGN) identifier. If VPN and SwID/TGN are present, the IXC launches a query to the SCP ( 160   FIG. 1 ) requesting routing information at step  240   c.  The SCP may be an advanced intelligent network (AIN). The query may include the SwID/TGN, the calling party identifier, and the dialed number (e.g. 700-220-4438). The dialed number may be a private number or a public number associated with the nature of address/number identifier. The remaining process will be discussed below with reference to  FIG. 2B . 
         [0027]    As shown in  FIG. 2B , the SCP receives and decodes the query to determine the type VPN service at step  250 . The SCP then determines if the call was originated from a remote location, a switched location, or a location having dedicated access and what VPN group is associated with the dialed number at step  254 . The VPN group is determined from the calling party identifier. The dialed digits are then examined to determine the length of digits at step  256 . If the length of digits equals a predetermined length, e.g., ten, then the dialed digits are further examined to determine if the digits contain a VPN identifier at step  258 . If the length of digits does not equal ten or include a VPN identifier then the call is processed using existing logic at step  262 . If the dialed digits include a VPN identifier, the nature of address/number (NOA) associated with the dialed digits is updated to be a private number at step  260 . One example of a VPN identifier is the leading three digits or area code being “7” “0” “0”. 
         [0028]    The NOA for the dialed digits is then reexamined to determine if the NOA is associated with an international number, a public number, or a private number at step  264 . If the NOA is associated with an international number the call is routed to the SSP with the international routing information at step  266 . If the NOA is associated with a public number, a public number table is searched to locate the routing number associated with the dialed number (e.g. 800-555-1212) at step  268  and the call is routed to the SSP with the public routing information at step  270 . The public number table is a database containing routing information related to numbers associated with a public number NOA. 
         [0029]    If the NOA is associated with a private number, a private number table associated with the VPN group is searched to locate the routing number associated with the dialed number (e.g. 700-220-4438) at step  272 . As explained above, the VPN group is determined from the calling party identifier. If the routing number is found in the private number table the call is routed to the SSP with the private routing information at step  274 . If no number is found the call is disconnected at step  278 . 
         [0030]    In the particular example illustrated in  FIG. 1 , the dialed number (e.g. 700-220-4438) has been assigned to a particular customer for locations A-D. The particular customer also has an assigned VPN group. For this VPN group, the routing number is found in the private number table of the corresponding VPN group and is 734-636-3222. It should be understood that for a different VPN group, the lookup occurs with respect to a different private number table, yielding a different routing number for the identical dialed digits. Thus, multiple companies can use identical VPN (700) numbers simultaneously. 
         [0031]    The updating of the NOA to a private number allows VPN calls to be linked to a private number table based the calling party identification. This effectively increases the amount of VPN number availability to an inexhaustible amount, now allowing identical numbers to be assigned to multiple companies. If the NOA is not updated there would be potential duplicate numbers in the public number table and thus call routing would fail because duplicates are not allowed. 
         [0032]    While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.