# US 8,542,815 B2 · Producing routing messages for voice over IP communications

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,542,815 B2
- Document ID: US8542815B2
- Status: Granted
- Kind: B2
- Application number: 12/513,147
- Filed: 2007-11-01
- Published: 2010-06-17
- Granted: 2013-09-24
- Earliest claimed: 2006-11-02
- Assignees: Digifonica (International) Limited
- Applicants: Clay Perreault; Steve Nicholson; Rod Thomson; Johan Emil Viktor Bjorsell; Fuad Arafa
- Inventors: Clay Perreault; Steve Nicholson; Rod Thomson; Johan Emil Viktor Bjorsell; Fuad Arafa
- Web page: https://patentgrep.com/patent/US8542815B2

## CPC

- H04L 45/3065: {for real time traffic}
- H04M 15/63: {based on the content carried by the session initiation protocol [SIP] messages}
- A61K 39/39558: {against tumor tissues, cells, antigens}
- A61K 45/06: Mixtures of active ingredients without chemical characterisation, e.g. antiphlogistics and cardiaca
- C07K 16/18: against material from animals or humans
- H04L 9/3226: {using a predetermined code, e.g. password, passphrase or PIN (network architectures or network communication protocols for supporting authentication of entities using passwords in a packet data network H04L63/083)}
- H04L 12/14: Charging, metering or billing arrangements specially adapted for data communications, e.g. authentication, authorisation and accounting [AAA] framework
- H04L 12/1439: {time-based}
- H04L 12/1496: {involving discounts}
- H04L 12/66: Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
- H04L 61/5007: Internet protocol [IP] addresses
- H04L 65/1033: Signalling gateways
- H04L 65/1069: Session establishment or de-establishment
- H04M 3/4211: {where the identifier is used to access a profile}
- H04M 7/006: {Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP) , including next generation networks with a packet-switched transport layer (H04L65/00 takes precedence; aspects not specific to the type of network H04M3/00; special services in those networks H04M3/42)}
- H04M 7/0075: {Details of addressing, directories or routing tables}
- H04M 15/06: Recording class or number of calling {, i.e. A-party} or called party {, i.e. B-party}
- H04M 15/51: {for resellers, retailers or service providers}
- H04M 15/56: {for VoIP communications}
- H04M 15/8033: {location-dependent, e.g. business or home}
- H04M 15/8055: {Selecting cheaper transport technology for a given service}
- H04M 15/8083: {involving reduced rates or discounts, e.g. time-of-day reductions or volume discounts}
- H04M 15/8228: {Session based}
- H04M 15/887: {limit per user or user related number}
- H04M 15/888: {severing connection after predetermined time or data}
- H04Q 3/66: Traffic distributors
- H04Q 3/70: Identification of class of calling subscriber
- H04Q 2213/13091: CLI, identification of calling line
- H04Q 2213/13141: Hunting for free outlet, circuit or channel
- H04Q 2213/13196: Connection circuit/link/trunk/junction, bridge, router, gateway
- H04Q 2213/1322: PBX
- H04Q 2213/13384: Inter-PBX traffic, PBX networks, e.g. corporate networks
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- A61K: PREPARATIONS FOR MEDICAL, DENTAL OR TOILETRY PURPOSES (devices or methods specially adapted for bringing pharmaceutical products into particular physical or administering forms A61J3/00; chemical aspects of, or use of materials for deodorisation of air, for disinfection or sterilisation, or for bandages, dressings, absorbent pads or surgical articles A61L; soap compositions C11D)
- C07K: PEPTIDES (peptides in foodstuffs A23; obtaining protein compositions for foodstuffs, working-up proteins for foodstuffs A23J; preparations for medicinal purposes A61K; peptides containing beta-lactam rings C07D; cyclic dipeptides not having in their molecule any other peptide link than those which form their ring, e.g. piperazine-2,5-diones, C07D; ergot alkaloids of the cyclic peptide type C07D519/02; macromolecular compounds having statistically distributed amino acid units in their molecules, i.e. when the preparation does not provide for a specific; but for a random sequence of the amino acid units, homopolyamides and block copolyamides derived from amino acids C08G69/00; macromolecular products derived from proteins C08H1/00; preparation of glue or gelatine C09H; single cell proteins, enzymes C12N; genetic engineering processes for obtaining peptides C12N15/00; compositions for measuring or testing processes involving enzymes C12Q; investigation or analysis of biological material G01N33/00)
- H04Q: SELECTING (switches, relays, selectors H01H; wireless communication networks H04W)

## Abstract

A process and apparatus to facilitate communication between callers and callees in a system comprising a plurality of nodes with which callers and callees are associated is disclosed. In response to initiation of a call by a calling subscriber, a caller identifier and a callee identifier are received. Call classification criteria associated with the caller identifier are used to classify the call as a public network call or a private network call. A routing message identifying an address, on the private network, associated with the callee is produced when the call is classified as a private network call and a routing message identifying a gateway to the public network is produced when the call is classified as a public network call.

## Claims

### Claim 1

A process for operating a call routing controller to facilitate communication between callers and callees in a system comprising a plurality of nodes with which callers and callees are associated, the process comprising:
in response to initiation of a call by a calling subscriber, receiving a caller identifier and a callee identifier;
locating a caller dialing profile comprising a username associated with the caller and a plurality of calling attributes associated with the caller;
determining a match when at least one of said calling attributes matches at least a portion of said callee identifier;
classifying the call as a public network call when said match meets public network classification criteria and classifying the call as a private network call when said match meets private network classification criteria;
when the call is classified as a private network call, producing a private network routing message for receipt by a call controller, said private network routing message identifying an address, on the private network, associated with the callee;
when the call is classified as a public network call, producing a public network routing message for receipt by the call controller, said public network routing message identifying a gateway to the public network.

### Claim 2 (depends on 1)

The process of claim 1 further comprising receiving a request to establish a call, from a call controller in communication with a caller identified by said callee identifier.

### Claim 3 (depends on 1)

The process of claim 1 wherein determining said match comprises determining said match when said callee identifier includes a portion that matches an International Dialing Digit (IDD) associated with said caller dialing profile.

### Claim 4 (depends on 1)

The process of claim 1 wherein determining said match comprises determining said match when said callee identifier includes a portion that matches a National Dialing Digit (NDD) associated with said caller dialing profile.

### Claim 5 (depends on 1)

The process of claim 1 wherein determining said match comprises determining said match when said callee identifier includes a portion that matches an area code associated with said caller dialing profile.

### Claim 6 (depends on 1)

The process of claim 1 wherein determining said match comprises determining said match when said callee identifier has a length within a range specified in said caller dialing profile.

### Claim 7 (depends on 1)

The process of claim 1 further comprising formatting said callee identifier into a pre-defined digit format to produce a re-formatted callee identifier.

### Claim 8 (depends on 7)

The process of claim 7 wherein formatting comprises removing an international dialing digit from said callee identifier, when said callee identifier begins with a digit matching an international dialing digit specified by said caller dialing profile associated with said caller.

### Claim 9 (depends on 7)

The process of claim 7 wherein formatting comprises removing a national dialing digit from said callee identifier and prepending a caller country code to said callee identifier when said callee identifier begins with a national dialing digit.

### Claim 10 (depends on 7)

The process of claim 7 wherein formatting comprises prepending a caller country code to said callee identifier when said callee identifier begins with digits identifying an area code specified by said caller dialing profile.

### Claim 11 (depends on 7)

The process of claim 7 wherein formatting comprises prepending a caller country code and area code to said callee identifier when said callee identifier has a length that matches a caller dialing number format specified by said caller dialing profile and only one area code is specified as being associated with said caller in said caller dialing profile.

### Claim 12 (depends on 7)

The process of claim 7 wherein classifying comprises classifying said call as a private network call when said re-formatted callee identifier identifies a subscriber to the private network.

### Claim 13 (depends on 7)

The process of claim 7 wherein classifying comprises determining whether said callee identifier complies with a pre-defined username format and, if so, classifying the call as a private network call.

### Claim 14 (depends on 7)

The process of claim 7 further comprising, causing a database of records to be searched to locate a Direct-Inward-Dial (DID) bank table record associating a public telephone number with said reformatted callee identifier and if said DID bank table record is found, classifying the call as a private network call and if a DID bank table record is not found classifying the call as a public network call.

### Claim 15 (depends on 14)

The process of claim 14 wherein producing said private network routing message identifying a node on the private network comprises setting a callee identifier in response to a username associated with said DID bank table record.

### Claim 16 (depends on 15)

The process of claim 15 wherein producing said private network routing message comprises determining whether a node associated with the reformatted callee identifier is the same as a node associated the caller identifier.

### Claim 17 (depends on 16)

The process of claim 16 wherein determining whether a node associated with the reformatted callee identifier is the same as a node associated with the caller identifier comprises determining whether a prefix of said re-formatted callee identifier matches a corresponding prefix of a username associated with said caller dialing profile.

### Claim 18 (depends on 17)

The process of claim 17 wherein when said node associated with said caller is not the same as the node associated with the callee, producing a routing message including said caller identifier, said reformatted callee identifier and an identification of a private network node associated with said callee and communicating said routing message to a call controller.

### Claim 19 (depends on 16)

The process of claim 16 wherein when said node associated with said caller identifier is the same as the node associated with said callee identifier, determining whether to perform at least one of the following: forward said call to another party, block the call and direct the caller to a voicemail server associated with the callee.

### Claim 20 (depends on 19)

The process of claim 19 wherein producing said private network routing message comprises producing a routing message having an identification of at least one of the callee identifier, an identification of a party to whom the call should be forwarded and an identification of a voicemail server associated with the callee.

### Claim 21 (depends on 20)

The process of claim 20 further comprising communicating said routing message to a call controller.

### Claim 22 (depends on 7)

The process of claim 7 wherein producing said public network routing message identifying a gateway to the public network comprises searching a database of route records associating route identifiers with dialing codes to find a route record having a dialing code having a number pattern matching at least a portion of said reformatted callee identifier.

### Claim 23 (depends on 22)

The process of claim 22 further comprising searching a database of supplier records associating supplier identifiers with said route identifiers to locate at least one supplier record associated with said route identifier associated with said route record having a dialing code having a number pattern matching at least a portion of said reformatted callee identifier.

### Claim 24 (depends on 23)

The process of claim 23 further comprising loading a routing message buffer with the reformatted callee identifier and an identification of specific routes associated respective ones of the supplier records associated with said route record and loading said routing message buffer with a time value and a timeout value.

### Claim 25 (depends on 24)

The process of claim 24 wherein said public network routing message comprises the contents of said routing message buffer and wherein said process comprises communicating said public network routing message to a call controller.

### Claim 26 (depends on 1)

The process of claim 1 further comprising causing said dialing profile to include a maximum concurrent call value and a concurrent call count value and causing said concurrent call count value to be incremented when the user associated with said dialing profile initiates a call and causing said concurrent call count value to be decremented when a call with said user associated with said dialing profile is ended.

### Claim 27

A non-transitory computer readable medium encoded with codes for directing a processor to execute a method of operating a call routing controller to facilitate communication between callers and callees in a system comprising a plurality of nodes with which callers and callees are associated, the method comprising:
in response to initiation of a call by a calling subscriber, receiving a caller identifier and a callee identifier;
locating a caller dialing profile comprising a username associated with the caller and a plurality of calling attributes associated with the caller;
determining a match when at least one of said calling attributes matches at least a portion of said callee identifier;
classifying the call as a public network call when said match meets public network classification criteria and classifying the call as a private network call when said match meets private network classification criteria;
when the call is classified as a private network call, producing a private network routing message for receipt by a call controller, said private network routing message identifying an address, on the private network, associated with the callee; and
when the call is classified as a public network call, producing a public network routing message for receipt by a call controller, said public network routing message identifying a gateway to the public network.

### Claim 28

A call routing apparatus for facilitating communications between callers and callees in a system comprising a plurality of nodes with which callers and callees are associated, the apparatus comprising:
receiving means for receiving a caller identifier and a callee identifier, in response to initiation of a call by a calling subscriber;
means for locating a caller dialing profile comprising a username associated with the caller and a plurality of calling attributes associated with the caller;
means for determining a match when at least one of said calling attributes matches at least a portion of said callee identifier;
means for classifying the call as a public network call when said match meets public network classification criteria;
means for classifying the call as a private network call when said match meets private network classification criteria;
means for producing a private network routing message for receipt by a call controller, when the call is classified as a private network call, said private network routing message identifying an address, on the private network, associated with the callee; and
means for producing a public network routing message for receipt by a call controller, when the call is classified as a public network call, said public network routing message identifying a gateway to the public network.

### Claim 29 (depends on 28)

The apparatus of claim 28 wherein said receiving means is operably configured to receive a request to establish a call, from a call controller in communication with a caller identified by said callee identifier.

### Claim 30 (depends on 28)

The apparatus of claim 28 wherein said calling attributes include an international dialing digit and wherein said means for determining is operably configured to determine whether said callee identifier includes a portion that matches an International Dialing Digit (IDD) associated with said caller dialing profile.

### Claim 31 (depends on 28)

The apparatus of claim 28 wherein said calling attributes include a national dialing digit and wherein said means for determining is operably configured to determine whether said callee identifier includes a portion that matches a National Dialing Digit (NDD) associated with said caller dialing profile.

### Claim 32 (depends on 28)

The apparatus of claim 28 wherein said calling attributes include an area code and wherein said means for determining is operably configured to determine whether said callee identifier includes a portion that matches an area code associated with said caller dialing profile.

### Claim 33 (depends on 28)

The apparatus of claim 28 wherein said calling attribute includes a number length range and wherein said means for determining is operably configured to determine whether said callee identifier has a length within a range specified in said caller dialing profile.

### Claim 34 (depends on 28)

The apparatus of claim 28 further comprising formatting means for formatting said callee identifier into a pre-defined digit format to produce a re-formatted callee identifier.

### Claim 35 (depends on 34)

The apparatus of claim 34 wherein said formatting means is operably configured to remove an international dialing digit from said callee identifier, when said callee identifier begins with a digit matching an international dialing digit specified by said caller dialing profile associated with said caller.

### Claim 36 (depends on 34)

The apparatus of claim 34 wherein said formatting means is operably configured to remove a national dialing digit from said callee identifier and prepend a caller country code to said callee identifier when said callee identifier begins with a national dialing digit.

### Claim 37 (depends on 34)

The apparatus of claim 34 wherein said formatting means is operably configured to prepend a caller country code to said callee identifier when said callee identifier begins with digits identifying an area code specified by said caller dialing profile.

### Claim 38 (depends on 34)

The apparatus of claim 34 wherein said formatting means is operably configured to prepend a caller country code and area code to said callee identifier when said callee identifier has a length that matches a caller dialing number format specified by said caller dialing profile and only one area code is specified as being associated with said caller in said caller dialing profile.

### Claim 39 (depends on 34)

The apparatus of claim 34 wherein said means for classifying the call as a private network call is operably configured to classify said call as a private network call when said re-formatted callee identifier identifies a subscriber to the private network.

### Claim 40 (depends on 34)

The apparatus of claim 34 wherein said means for classifying the call as a private network call is operably configured to classify the call as a private network call when said callee identifier complies with a pre-defined username format.

### Claim 41 (depends on 34)

The apparatus of claim 34 further comprising searching means for searching a database of records to locate a Direct-Inward-Dial (DID) bank table record associating a public telephone number with said reformatted callee identifier and wherein said means for classifying the call as a private network call is operably configured to classify the call as a private network call when said DID bank table record is found and said means for classifying the call as a public network call is operably configured to classify the call as a public network call when a DID bank table record is not found.

### Claim 42 (depends on 41)

The apparatus of claim 41 wherein said private network routing message producing means is operably configured to produce a routing message having a callee identifier set according to a username associated with said DID bank table record.

### Claim 43 (depends on 42)

The apparatus of claim 42 wherein said private network routing message producing means is operably configured to determine whether a node associated with the reformatted callee identifier is the same as a node associated the caller identifier.

### Claim 44 (depends on 43)

The apparatus of claim 43 wherein said private network routing means includes means for determining whether a prefix of said re-formatted callee identifier matches a corresponding prefix of a username associated with said caller dialing profile.

### Claim 45 (depends on 44)

The apparatus of claim 44 wherein said private network routing message producing means is operably configured to produce a routing message including said caller identifier, said reformatted callee identifier and an identification of a private network node associated with said callee and to communicate said routing message to a call controller.

### Claim 46 (depends on 43)

The apparatus of claim 43 wherein said private network routing message producing means is operably configured to perform at least one of the following: forward said call to another party, block the call and direct the caller to a voicemail server associated with the callee identifier, when said node associated with said caller identifier is the same as the node associated with said callee identifier.

### Claim 47 (depends on 46)

The apparatus of claim 46 wherein said means for producing said private network routing message is operably configured to produce a routing message having an identification of at least one of the callee identifier, an identification of a party to whom the call should be forwarded and an identification of a voicemail server associated with the callee.

### Claim 48 (depends on 47)

The apparatus of claim 47 further comprising means for communicating said routing message to a call controller.

### Claim 49 (depends on 34)

The apparatus of claim 34 wherein said means for producing said public network routing message identifying a gateway to the public network comprises means for searching a database of route records associating route identifiers with dialing codes to find a route record having a dialing code having a number pattern matching at least a portion of said reformatted callee identifier.

### Claim 50 (depends on 49)

The apparatus of claim 49 further comprising means for searching a database of supplier records associating supplier identifiers with said route identifiers to locate at least one supplier record associated with said route identifier associated with said route record having a dialing code having a number pattern matching at least a portion of said reformatted callee identifier.

### Claim 51 (depends on 50)

The apparatus of claim 50 further comprising a routing message buffer and means for loading said routing message buffer with the reformatted callee identifier and an identification of specific routes associated respective ones of the supplier records associated with said route record and loading said routing message buffer with a time value and a timeout value.

### Claim 52 (depends on 51)

The apparatus of claim 51 further comprising means for causing said public network routing message to include the contents of said routing message buffer and means for communicating the public network routing message to a call controller.

### Claim 53 (depends on 28)

The apparatus of claim 28 further comprising means for causing said dialing profile to include a maximum concurrent call value and a concurrent call count value and for causing said concurrent call count value to be incremented when the user associated with said dialing profile initiates a call and for causing said concurrent call count value to be decremented when a call with said user associated with said dialing profile is ended.

### Claim 54

A process for operating a call routing controller to establish a call between a caller and a callee in a communication system, the process comprising:
in response to initiation of a call by a calling subscriber, locating a caller dialing profile comprising a plurality of calling attributes associated with the caller; and
when at least one of said calling attributes and at least a portion of a callee identifier associated with the callee match and when the match meets a private network classification criterion, producing a private network routing message for receipt by a call controller, said private network routing message identifying an address, on a private network, the address being associated with the callee; and
when at least one of said calling attributes and said at least said portion of said callee identifier associated with the callee match and when the match meets a public network classification criterion, producing a public network routing message for receipt by a call controller, said public network routing message identifying a gateway to a public network.

### Claim 55 (depends on 54)

The process of claim 54 wherein said private network classification criteria include:
a) said callee identifier does not begin with the same digit pattern as an international dialing digit (IDD) attribute of said callee identifier; and
b) said callee identifier does not begin with the same digit pattern as a national dialing digit (NDD) attribute of said callee identifier; and
c) said callee identifier does not begin with the same area code as an area code of said caller; and
d) said callee identifier does not have a length that is within a range of caller local number lengths; and
e) said callee identifier is a valid username.

### Claim 56 (depends on 55)

The process of claim 55 further comprising identifying the call as a cross-domain call on the private network when said callee identifier identifies a callee that is not associated with the same network node as said caller.

### Claim 57 (depends on 55)

The process of claim 55 further comprising:
locating a callee dialing profile for the callee when said callee identifier identifies a callee that is associated with the same network node as said caller; and
retrieving call handling information associated with the callee, where said call handing information is available, said call handing information including at least one of call blocking information, call forwarding information, and voicemail information.

### Claim 58 (depends on 57)

The process of claim 57 further comprising, where said call handling information including said call blocking information is available, blocking the call when said call blocking information identifies the caller as a caller from whom calls are to be blocked from being established with the callee.

### Claim 59 (depends on 57)

The process of claim 57 further comprising, where said call handling information including said call forwarding information is available, causing said call forwarding information to be included in said private network routing message.

### Claim 60 (depends on 57)

The process of claim 57 further comprising, where said call handling information including said voicemail information is available, causing said voicemail information to be included in said private network routing message.

### Claim 61 (depends on 54)

The process of claim 54 further comprising associating at least one direct inward dial record with at least one subscriber to said communication system, each of said at least one direct inward dial records comprising a field storing a direct inward dial number associated with said at least one subscriber.

### Claim 62 (depends on 61)

The process of claim 61 wherein said public network classification criteria include:
a) said callee identifier begins with the same digit pattern as an international dialing digit (IDD) attribute of said callee identifier; and
b) a reformatted callee identifier produced by removing the IDD attribute from said callee identifier has no DID bank table record.

### Claim 63 (depends on 61)

The process of claim 61 wherein said public network classification criteria include:
a) said callee identifier begins with the same digit pattern as a national dialing digit (NDD) attribute of said callee identifier; and
b) a reformatted callee identifier produced by removing the NDD attribute from said callee identifier and including a caller country code has no DID bank table record.

### Claim 64 (depends on 61)

The process of claim 61 wherein said public network classification criteria include:
a) said callee identifier begins with the same area code as an area code of said caller; and
b) a reformatted callee identifier produced by reformatting the callee identifier to include a caller country code has no DID bank table record.

### Claim 65 (depends on 61)

The process of claim 61 wherein said public network classification criteria include:
a) said callee identifier has a length that is within a range of caller local number lengths; and
b) a reformatted callee identifier produced by reformatting the callee identifier to include a caller country code and area code has no DID bank table record.

### Claim 66 (depends on 54)

The process of claim 54 wherein said plurality of calling attributes includes at least one of an international dialing digits field, a national dialing digits field, a country code field, a local area codes field, a caller minimum local length field, a caller maximum local length field, a reseller field, a maximum number of concurrent calls field and a current number of concurrent calls field.

### Claim 67 (depends on 61)

The process of claim 61 wherein said DID record comprises a user name field, a user domain field and a DID number field.

### Claim 68 (depends on 54)

The process of claim 54 further comprising maintaining a list of public network route suppliers and when said public network classification criterion is met identifying at least one of said public network route suppliers that satisfies public network routing selection criteria.

### Claim 69 (depends on 68)

The process of claim 68 wherein said producing said public network routing message comprises producing a public network routing message identifying said at least one public network route supplier that satisfies said public network routing selection criteria.

### Claim 70 (depends on 69)

The process of claim 69 wherein producing said public network routing message comprises causing said at least one public network route supplier that satisfies said public network routing selection criteria to be placed in a preferred order.

### Claim 71 (depends on 70)

The process of claim 70 wherein said preferred order is by at least one of rate and preferred service agreements with said at least one public network route supplier.

### Claim 72 (depends on 54)

The process of claim 54 further comprising causing the private network routing message or the public network routing message to be communicated to a call controller to effect routing of the call.

### Claim 73 (depends on 54)

A non-transitory computer readable medium encoded with codes for directing a processor to execute the method of claim 54.

### Claim 74

A call routing controller apparatus for establishing a call between a caller and a callee in a communication system, the apparatus comprising:
a processor operably configured to:
access a database of caller dialing profiles wherein each dialing profile associates a plurality of calling attributes with a respective subscriber, to locate a dialing profile associated with the caller, in response to initiation of a call by a calling subscriber; and
produce a private network routing message for receipt by a call controller, said private network routing message identifying an address, on a private network, through which the call is to be routed, when at least one of said calling attributes and at least a portion of a callee identifier associated with the callee match and when the match meets a private network classification criterion, the address being associated with the callee; and
produce a public network routing message for receipt by a call controller, said public network routing message identifying a gateway to a public network, when at least one of said calling attributes and said at least said portion of said callee identifier associated with the callee match and when the match meets a public network classification criterion.

### Claim 75 (depends on 74)

The apparatus of claim 74 wherein said private network classification criteria include:
a) said callee identifier does not begin with the same digit pattern as an international dialing digit (IDD) attribute of said callee identifier; and
b) said callee identifier does not begin with the same digit pattern as a national dialing digit (NDD) attribute of said callee identifier; and
c) said callee identifier does not begin with the same area code as an area code of said caller; and
d) said callee identifier does not have a length that is within a range of caller local number lengths; and
e) said callee identifier is a valid username.

### Claim 76 (depends on 75)

The apparatus of claim 75 wherein said processor is further operably configured to identify the call as a cross-domain call on the private network when said callee identifier identifies a callee that is not associated with the same network node as said caller.

### Claim 77 (depends on 75)

The apparatus of claim 75 wherein said processor is further configured to:
access the database of caller dialing profiles to locate a callee dialing profile for the callee when said callee identifier identifies a callee that is associated with the same network node as said caller; and
retrieve call handling information associated with the callee, where said call handing information is available, said call handing information including at least one of call blocking information, call forwarding information, and voicemail information.

### Claim 78 (depends on 77)

The apparatus of claim 77 wherein said processor is further operably configured to determine whether said call handling information including said call blocking information is available and to block the call when said call blocking information identifies the caller as a caller from whom calls are to be blocked.

### Claim 79 (depends on 77)

The apparatus of claim 77 wherein said processor is further operably configured to determine whether said call handling information including said call forwarding information is available and to cause said call forwarding information to be included in said private network routing message.

### Claim 80 (depends on 77)

The apparatus of claim 77 wherein said processor is further operably configured to determine whether said call handling information including said voicemail information is available and to cause said voicemail information to be included in said private network routing message.

### Claim 81 (depends on 74)

The apparatus of claim 74 wherein said processor is further operably configured to access a database of direct inward dial records each associating at least one direct inward dial number with at least one subscriber to said communication system.

### Claim 82 (depends on 81)

The apparatus of claim 81 wherein said public network classification criteria include:
a) said callee identifier begins with the same digit pattern as an international dialing digit (IDD) attribute of said callee identifier; and
b) a reformatted callee identifier produced by removing the IDD attribute from said callee identifier has no DID record.

### Claim 83 (depends on 81)

The apparatus of claim 81 wherein said public network classification criteria include:
a) said callee identifier begins with the same digit pattern as a national dialing digit (NDD) attribute of said callee identifier; and
b) a reformatted callee identifier produced by removing the NDD attribute from said callee identifier and including a caller country code has no DID record.

### Claim 84 (depends on 81)

The apparatus of claim 81 wherein said public network classification criteria include:
a) said callee identifier begins with the same area code as an area code of said caller; and
b) a reformatted callee identifier produced by reformatting the callee identifier to include a caller country code has no DID record.

### Claim 85 (depends on 81)

The apparatus of claim 81 wherein said public network classification criteria include:
a) said callee identifier has a length that is within a range of caller local number lengths; and
b) a reformatted callee identifier produced by reformatting the callee identifier to include a caller country code and area code has no DID record.

### Claim 86 (depends on 74)

The apparatus of claim 74 wherein said plurality of calling attributes includes at least one of an international dialing digits field, a national dialing digits field, a country code field, a local area codes field, a caller minimum local length field, a caller maximum local length field, a reseller field, a maximum number of concurrent calls field and a current number of concurrent calls field.

### Claim 87 (depends on 81)

The apparatus of claim 81 wherein said DID record comprises a user name field, a user domain field and a DID number field.

### Claim 88 (depends on 74)

The apparatus of claim 74 wherein said processor is further operably configured to access a list of public network route suppliers when said public network classification criterion is met and to identify at least one of said public network route suppliers that satisfies public network routing selection criteria.

### Claim 89 (depends on 88)

The apparatus of claim 88 wherein said processor is further operably configured to produce a public network routing message identifying said at least one public network route supplier that satisfies said public network routing selection criteria.

### Claim 90 (depends on 89)

The apparatus of claim 89 wherein said processor is further operably configured to cause said at least one public network route supplier that satisfies said public network routing selection criteria to be placed in a preferred order.

### Claim 91 (depends on 90)

The apparatus of claim 90 wherein said preferred order is by at least one of rate and preferred service agreements with said at least one public network route supplier.

### Claim 92 (depends on 74)

The apparatus of claim 74 wherein said processor is further operably configured to cause the private network routing message or the public network routing message to be communicated to a call controller to effect routing of the call.

### Claim 93

A call routing controller apparatus for establishing a call between a caller and a callee in a communication system, the apparatus comprising:
means for accessing a database of caller dialing profiles wherein each dialing profile associates a plurality of calling attributes with a respective subscriber, to locate a dialing profile associated with the caller, in response to initiation of a call by a calling subscriber; and
means for producing a private network routing message for receipt by a call controller, said private network routing message identifying an address, on a private network, through which the call is to be routed, when at least one of said calling attributes and at least a portion of a callee identifier associated with the callee match and when the match meets a private network classification criterion, the address being associated with the callee; and
means for producing a public network routing message for receipt by a call controller, said public network routing message identifying a gateway to a public network when at least one of said calling attributes and said at least said portion of said callee identifier associated with the callee match and when the match meets a public network classification criterion.

### Claim 94 (depends on 93)

The apparatus of claim 93 wherein said private network classification criteria include:
a) said callee identifier does not begin with the same digit pattern as an international dialing digit (IDD) attribute of said callee identifier; and
b) said callee identifier does not begin with the same digit pattern as a national dialing digit (NDD) attribute of said callee identifier; and
c) said callee identifier does not begin with the same area code as an area code of said caller; and
d) said callee identifier does not have a length that is within a range of caller local number lengths; and
e) said callee identifier is a valid username.

### Claim 95 (depends on 94)

The apparatus of claim 94 further comprising means for identifying the call as a cross-domain call on the private network when said callee identifier identifies a callee that is not associated with the same network node as said caller.

### Claim 96 (depends on 94)

The apparatus of claim 94 further comprising:
means for accessing the database of caller dialing profiles to locate a callee dialing profile for the callee when said callee identifier identifies a callee that is associated with the same network node as said caller; and
means for retrieving call handling information associated with the callee, where said call handing information is available, said call handing information including at least one of call blocking information, call forwarding information, and voicemail information.

### Claim 97 (depends on 96)

The apparatus of claim 96 further comprising, where said call handling information including said call blocking information is available, means for blocking the call being established with the callee when said call blocking information identifies the caller as a caller from whom calls are to be blocked.

### Claim 98 (depends on 96)

The apparatus of claim 96 further comprising, means for causing said call forwarding information to be included in said private network routing message, where said call handling information including said call forwarding information is available.

### Claim 99 (depends on 96)

The apparatus of claim 96 further comprising, where said call handling information including said voicemail information is available, means for causing said voicemail information to be included in said private network routing message.

### Claim 100 (depends on 93)

The apparatus of claim 93 further comprising means for accessing a database of direct inward dial records each associating at least one direct inward dial number with at least one subscriber to said communication system.

### Claim 101 (depends on 100)

The apparatus of claim 100 wherein said public network classification criteria include:
a) said callee identifier begins with the same digit pattern as an international dialing digit (IDD) attribute of said callee identifier; and
b) a reformatted callee identifier produced by removing the IDD attribute from said callee identifier has no DID record.

### Claim 102 (depends on 100)

The apparatus of claim 100 wherein said public network classification criteria include:
a) said callee identifier begins with the same digit pattern as a national dialing digit (NDD) attribute of said callee identifier; and
b) a reformatted callee identifier produced by removing the NDD attribute from said callee identifier and including a caller country code has no DID record.

### Claim 103 (depends on 100)

The apparatus of claim 100 wherein said public network classification criteria include:
a) said callee identifier begins with the same area code as an area code of said caller; and
b) a reformatted callee identifier produced by reformatting the callee identifier to include a caller country code has no DID record.

### Claim 104 (depends on 100)

The apparatus of claim 100 wherein said public network classification criteria include:
a) said callee identifier has a length that is within a range of caller local number lengths; and
b) a reformatted callee identifier produced by reformatting the callee identifier to include a caller country code and area code has no DID record.

### Claim 105 (depends on 93)

The apparatus of claim 93 wherein said plurality of calling attributes includes at least one of an international dialing digits field, a national dialing digits field, a country code field, a local area codes field, a caller minimum local length field, a caller maximum local length field, a reseller field, a maximum number of concurrent calls field and a current number of concurrent calls field.

### Claim 106 (depends on 100)

The apparatus of claim 100 wherein said DID record comprises a user name field, a user domain field and a DID number field.

### Claim 107 (depends on 93)

The apparatus of claim 93 further comprising means for accessing a list of public network route suppliers when said public network classification criterion is met and means for identifying at least one of said public network route suppliers that satisfies public network routing selection criteria.

### Claim 108 (depends on 107)

The apparatus of claim 107 wherein said means for producing said public network routing message comprises means for producing a public network routing message identifying said at least one public network route supplier that satisfies said public network routing selection criteria.

### Claim 109 (depends on 108)

The apparatus of claim 108 wherein said means for producing said public network routing message comprises means for causing said at least one public network route supplier that satisfies said public network routing selection criteria to be placed in a preferred order.

### Claim 110 (depends on 109)

The apparatus of claim 109 wherein said preferred order is by at least one of rate and preferred service agreements with said at least one public network route supplier.

### Claim 111 (depends on 93)

The apparatus of claim 93 further comprising means for causing the private network routing message or the public network routing message to be communicated to a call controller to effect routing of the call.
