I recently had numerous discussions with various technical folks about the use of the @ symbol in dial plans. Talk about your controvertial subjects.
The sides came down to one of two opinions.
(my side)
1. @ + a filter should be used wherever possible. The @ + filters process faster in the dialplan, and in my eyes, makes for easier reading. For instance, a typical dial plan will have 5 entries to cover 800 numbers for a given location. Using @ + a filter, I can make that one entry. Now when CM 3.0 first came out, the dialplan had a few issues with @, but that is no longer the case. Also, @ + filters properly categorize outbound calls to the PSTN (national, international etc.). This make life easier when dealing with a 4ess AT&T switch among other things.
(the other side)
2. Use discrete patterns because they are easier to understand. While this is true, discrete patterns when multiplied over multiple sites makes looking at route patterns quite tedious. You also don’t get the benefits of proper call marking so you need to do things like setting gateways to unknown/unknown etc.
Bottom line for me, I will continue to use @ + filters unless something better comes along.