16.3. Core call routing switch

The design allows the FB6502 to perform the grunt of a large scale voice network leaving external devices (e.g. linux boxes) to make decisions and log calls, interacting via RADIUS messages. The FB6502 can work with pools of RADIUS servers for fallback and load management.

16.3.1. Call control

The basic concept is that the FireBrick handles the SIP messages and audio RTP, but uses RADIUS to decide what to do. Appendix G defines the RADIUS messages used and the responses necessary to use the FireBrick as a core VoIP switch.

16.3.2. Bulk registration client

The FireBrick can be used to perform registrations as a SIP client, sending REGISTER messages and maintaining the registration with remote servers.

To do this you define a carrier-url in the VoIP settings. The FireBrick does a simple http GET on this periodically (set carrier-update to control frequency). The response is expected to be plain text containing space or comma separated values:-

  • Carrier name (this is the key to identify each carrier)
  • VoIP server hostname or IP address
  • Authentication username (blank if not used)
  • Authentication password (blank if not used)
  • Optional source IP to use for outgoing messages to this carrier

The username can be of the form of user@domain and this will be used in full in the From/To fields with the REGISTER sent to the host specified. If an @ is needed in the username for some reason then user@host@host can be used to allow this as only final @ in the username is checked.

If username is prefixed ! then this is stripped and send-pre-auth unset for this registration. If an ! is needed in the username then !!name can be used, as only first ! is stripped. This will force no pre-auth but would otherwise work as expected.