VoIP XML config examples for FireBrick

Here is an example config, built from my own working config, for VoIP on a FireBrick.

It will not work as-is, for many reasons.

<voip record-server="192.168.12.2"
       log="voip"
       log-error="voip"
       log-debug="voip"
       log-cdr="cdr"
       log-sip-call="voip"
       log-sip-register="voip"
       log-sip-blf="voip"
       log-sip-other="voip"
       domain="firebrick.example.com"
       record-beep="false"
       mqtt-blf="mqtt">
  <carrier name="ExampleCarrier"
           allow="81.187.30.110-119 2001:8b0:0:30::5060:0/112"
           registrar="voiceless.aa.net.uk"
           username="+447480xxxxxx"
           password="secret"
           extn="204"
           comment="Example config for trunk from A&A allowing registration from A&A SIP servers"/>
  <carrier name="URIforExample.com"
           to="contact@example.com"
           trust-cli="true"
           extn="206"
           comment="Example config of SIP URIs for direct calls"/>
  <telephone name="101"
             display-name="Example Display Name"
             username="101"
             password="secret"
             local-only="false"
             allow="192.168.1.0/24 2001:8b0:839:4ea1::/64"
             ddi="+44203xxxxxxx"
             extn="101"
             uk-cli-text="false"
             carrier="ExampleCarrier"
             record="true"
             email="recording@example.com"
             comment="Example phone config with IP-based allowlist and recording enabled going out via ExampleCarrier"/>
  <telephone name="105"
             display-name="Example Display Name"
             username="89445300000000000000"
             password="secret"
             local-only="false"
             allow="81.187.30.110-119 2001:8b0:0:30::5060:0/112"
             ddi="+44203xxxxxx"
             extn="105"
             carrier="ExampleCarrier"
             record="true"
             email="recording@example.com"
             comment="Example SIP2SIM registering to A&A servers"/>
  <telephone name="108"
             username="108"
             password="secret"
             local-only="false"
             allow="107.170.65.67 107.170.123.70 107.170.151.176 159.65.186.176 159.65.251.173 159.65.252.186 159.65.253.49 162.243.35.55 162.243.66.221 162.243.226.67 162.243.226.164 165.227.184.188 167.99.48.91 167.99.119.203 167.99.119.244 192.241.179.113"
             ddi="+44xxxxxxxxxx"
             extn="108"
             carrier="ExampleCarrier"
             record="true"
             email="recording@example.com"
             comment="Example phone config with IP-based allowlist for Groundwire's push servers"/>
  <telephone name="500"
             extn="500"
             uri="--20200901recording@192.168.1.1"
             comment="Example config for playing two rings then a pre-recorded message with filename 20200901recording via voipanswer"/>
  <telephone name="504"
             display-name="Pre-call announcement"
             username="Voicemail"
             extn="504"
             record="true"
             email="recording@example.com"
             uri="--20201126werecordourcallsnomarketing#200@192.168.12.2"
             comment="Example config for playing two rings then a pre-recorded message then redirect to 200"/>
  <group name="200"
         extn="200"
         ddi="+44203xxxxxxx"
         ring="101 102 103 105 106 113 115"
         overflow="500"
         carrier="ExampleCarrier"
         overflow-time="20"
         allow-subscribe="102 105 106 107 113"
         out-of-hours-ring="500"
         email="recording@example.com"
         profile="out-of-hours-phone"
         comment="Example config for  ring group with overflow to a recorded message and call recording enabled"/>
 </voip>

Notes