Nur so zum Grübeln:
Wieso willst Du unbedingt die von früher bekannte 0-Nummer (wenn man das Amt haben möchte, muss man 0 vorwählen) fahren? SIP verwendet Blockwahl. Da sollte das eigentlich nur nötig sein, wenn man intern genauso lange (oder längere) Nummern hat, wie sie auch extern vorkommen. Falls die Anlage mit weniger als 99 internen Devices (1-99) klarkommen sollte, kann man auf die 0 verzichten und einfach alles, was mehr als 2 Stellen hat, nach draußen schieben. Die Ortsnetzvorwahl könnte man noch drankleben für Rufnummern, die min. 4 Stellen haben (bzw. evtl. auch 3 - so was soll es in seltenen Fällen auch noch geben - wäre aber nur für das eigene Ortsnetz relevant) und nicht mit 0 beginnen. Alles, was mit 0 beginnt, wird auf jeden Fall zum Trunk geschoben.
Stichwort Notruf:
Ich habe für die Notrufe eine eigene Outbound Route eingerichtet, die in der Reihenfolge der abzuarbeitenden Routen ganz vorne steht. Da wird ein einfacher expliziter Match gemacht (112, 110) und auf den gewünschten Trunk geschoben und gut ist.
Stichwort Handling unterschiedlicher Nummernkreise:
Ich habe für unterschiedliche Nummernkreise (wie Mobilnummern z.B.) eigene Outbound Routen angelegt. In dieser Route werden z.B. ausschließlich Mobilnummern geroutet.
Ich habe mir in Summe diverse verschiedene Outbound Routen angelegt, die unterschiedlichen Themengebieten gewidmet sind und in sinnvoller Reihenfolge abgearbeitet werden. Ganz am Schluss ist dann quasi die Lumpensammlerroute. Dies erhöht aus meiner Sicht die Übersichtlichkeit (man kann den Routen sprechende Namen geben). Man kann auf diesem Wege z.B. auch einfach Kurzwahlen für dedizierte Nummern einrichten, die man regelmäßig anruft (incl. Durchwahlübernahme).
Stichwort Routing testen:
Du kannst testen, ob eine eingerichtete Outbound Route grundsätzlich wie erwartet matched, indem Du sie (temporär) ganz nach vorne schiebst, die Trunks entfernst und die optionale Destination auf beenden (Terminate call) stellst. Jetzt sollte der getätigte Call tatsächlich abgelehnt werden. Da kannst Du auch Testmatches mit (temporär eingetragenen) Testnummern machen.
Stichwort Nummernmanipulation:
FreePBX bietet die Möglichkeit der Nummernmanipulation für ausgehende Calls an zwei Stellen an: in den Outbound Routen und im Trunk selbst nochmal. Ich habe es so gemacht, dass in den Routen die Normalisierung stattfindet (-> quasi ein festgelegtes internes Format) und im Trunk nur noch die Anpassung auf den jeweiligen Provider (die unterscheiden sich da manchmal) stattfindet.
Stichwort Nummernmanipulation testen (um zu sehen, was de facto rausgeht):
Zu Testzwecken kann man problemlos eigene Rufnummern verwenden. Fürs Ausland kann man sich Callcenternummern im Internet von großen Unternehmen raussuchen, wo man sowieso erst mal auf irgendwelchen automatisierten Ansagen landet. Auf dem CLI kann man mit pjsip set logger on|off das Ergebnis verifizieren.