A method for an application server (205, 500) with an application server protocol stack (330, 340, 345) defined by a protocol for routing a call from a customer to a destination, the method comprising: intercepting, using the application server protocol stack (330, 340, 345), a call setup message sent from a customer switch to a switch intended to signal the switch to perform a call routing function or request a call routing function be performed, the call routing function determines from a set of routes a route for the switch to use to carry the call to the destination, the route so determined is a switch-determined route, the application server protocol stack (330, 340, 345) of the application server (205, 500) including a protocol layer above lower protocol layers of a signal transfer point, STP, protocol stack, the protocol layer enabling the application server (205, 500) to read and modify Integrated Services Digital Network, ISDN, User Part, ISUP, messages or Session Initiation Protocol, SIP, messages; intercepting, using the application server protocol stack (330, 340, 345), a call release message sent from the switch to the customer switch intended to signal the customer switch of network congestion; in response to either the call setup message or the call release message being intercepted, querying a routing engine with the destination of the call for a specific route over which to carry the call to the destination, the specific route is queried from a set of routes that is different from the set of routes from which the call routing function determines the switch-determined route; modifying the call setup message to include the specific route, the call setup message so modified is a modified call setup message; responding to the call release message with a re-route call message that includes the specific route; directing the switch with either the modified call setup message or re-route call message to use the specific route to carry the call from the customer to the destination, wherein the call setup, call release, modified call setup, and re-route call messages are ISUP or SIP messages. intercepting, using the application server protocol stack (330, 340, 345), a call setup message sent from a customer switch to a switch intended to signal the switch to perform a call routing function or request a call routing function be performed, the call routing function determines from a set of routes a route for the switch to use to carry the call to the destination, the route so determined is a switch-determined route, the application server protocol stack (330, 340, 345) of the application server (205, 500) including a protocol layer above lower protocol layers of a signal transfer point, STP, protocol stack, the protocol layer enabling the application server (205, 500) to read and modify Integrated Services Digital Network, ISDN, User Part, ISUP, messages or Session Initiation Protocol, SIP, messages; intercepting, using the application server protocol stack (330, 340, 345), a call release message sent from the switch to the customer switch intended to signal the customer switch of network congestion; in response to either the call setup message or the call release message being intercepted, querying a routing engine with the destination of the call for a specific route over which to carry the call to the destination, the specific route is queried from a set of routes that is different from the set of routes from which the call routing function determines the switch-determined route; modifying the call setup message to include the specific route, the call setup message so modified is a modified call setup message; responding to the call release message with a re-route call message that includes the specific route; directing the switch with either the modified call setup message or re-route call message to use the specific route to carry the call from the customer to the destination, wherein the call setup, call release, modified call setup, and re-route call messages are ISUP or SIP messages.