Calls and non-call messages such as REGISTER, SUBSCRIBE, NOTIFY are routed in a similar manner.
The Route and Routing Label are used to determine how routing is done. On the SBC, there are different ways to implement routing (destination number, carrier, subscriber number, and trunk group). Trunk Group routing is used for this example configuration. It is the simplest and most straight forward way for a "pure" SBC function to be implemented. It allows the operator to add users / routable numbers without having to configure those numbers into the SBC.
For our Trunk Group routing configuration, calls that arrive on trunk group "CORE" are sent to Routing Label "TO_PEER", which routes the call to trunk group "PEER". And in the other direction, calls that arrive on trunk group "PEER" are sent to Routing Label "TO_CORE", which routes the call to the "CORE" trunk group.
For Access configurations, the same principle applies. Calls from trunk group "PHONES" are sent to trunk group "ACCESSCORE". Calls from trunk group "ACCESSCORE" will be routed to "PHONES". However, since "PHONES" is configured to Support / Require Registration, the SBC will look up the destination number in its cached Registration table (also referred to as the AOR (Address of Record table)), and send the call to that device (which will be an IP address and port used to get to the device).
The SBC can also use an external PSX for routing. You can view which method is being used under "System" > "Global Config" / "Local Server" / "Remote Server", or the CLI command:
> show status system policyServer