A method for a dynamic context router (706; 850; 920; 2501) to communicate signaling information in a telecommunications signaling network, comprising: receiving, in a first processor, a first message encoding signaling information from a source component (902a-902c, 904a, 904b), the first message comprising a plurality of portions; decoding a first portion of the received first message; subject to determining that a destination component (906a-906d) cannot be identified or derived from the decoded first portion, recursively decoding additional portions of the received first message until a decoded additional portion is identified from which a destination component can be derived, wherein decoding each additional portion of the first message comprises performing application level routing operations using supplementary contextual information to identify the destination component (906a-906d), wherein the application level routing operations are performed for each additional portion and comprise; generating one or more keys based on a respective decoded additional portion; transmitting the generated keys to an external resource (1108, 1110); receiving supplementary contextual information from the external resource (1108, 1110) in response to the generated keys; using the supplementary contextual information for load balancing operations to identify the destination component (906a-906d); encoding the signaling information contained in the decoded portions along with a remainder of the first message and the supplementary contextual information into a second message; and sending the second message encoding the signaling information to the identified destination component (906a-906d). receiving, in a first processor, a first message encoding signaling information from a source component (902a-902c, 904a, 904b), the first message comprising a plurality of portions; decoding a first portion of the received first message; subject to determining that a destination component (906a-906d) cannot be identified or derived from the decoded first portion, recursively decoding additional portions of the received first message until a decoded additional portion is identified from which a destination component can be derived, wherein decoding each additional portion of the first message comprises performing application level routing operations using supplementary contextual information to identify the destination component (906a-906d), wherein the application level routing operations are performed for each additional portion and comprise; generating one or more keys based on a respective decoded additional portion; transmitting the generated keys to an external resource (1108, 1110); receiving supplementary contextual information from the external resource (1108, 1110) in response to the generated keys; using the supplementary contextual information for load balancing operations to identify the destination component (906a-906d); generating one or more keys based on a respective decoded additional portion; transmitting the generated keys to an external resource (1108, 1110); receiving supplementary contextual information from the external resource (1108, 1110) in response to the generated keys; using the supplementary contextual information for load balancing operations to identify the destination component (906a-906d); encoding the signaling information contained in the decoded portions along with a remainder of the first message and the supplementary contextual information into a second message; and sending the second message encoding the signaling information to the identified destination component (906a-906d).