Image Number 6 for United States Patent #8443104.
A routing engine functions to respond to a request for routing options for a communication session from a querying node by providing a list of routing options. The original request includes signaling information that is utilized by the routing engine to determine a preliminary list of routing options that identifies vendors capable of handling the communication session. Pre-defined routing definitions may be applied to alter the list of vendors as identified in the preliminary list. Filtering processes may be applied to remove undesirable vendors from the preliminary routing options, resulting in a list of routing options for the communication session. The preliminary list may be ordered according to some parameter, and when a filtering process is applied the process may end upon reaching a first non-compliant vendor.