I'm a bit late into this thread, but I'll throw a few comments in anyhow.
QuoteNow, *98 gets me an immediate busy signal.
*98 also has to be in your Phone Port DigitMap if you have disabled it in the Star Code Profile. You could have put it in directly or added (Musefpl) to the Phone Port DigitMap.
QuoteInterestingly **1*98 works perfectly.
This indicates that *98 is in your ITSP Profile A DigitMap, which effectively is (Msp1).
You may have good reason for having Musefpl and Msp1, but it seems to me that a simpler Phone Port OutboundCallRoute could be:
{(Msp1):sp1},{(911|933):sp1},{**0:aa},{***:aa2},{(<**9:>(Mpp)):pp},{sp2}
After changing to:
Service Providers > ITSP Profile A > General > DigitMap:
(*98|x.905xxxxxxx|x.289xxxxxxx|x.416xxxxxxx|x.647xxxxxxx|x.437xxxxxxx)
This config would do what you want, but you would lose the ability to force certain numbers into certain routes by dialling **1 or **2, which may be important to you.
QuoteSounds as if your Primary Line is set to SP2......
The "allowed" numbers are set by your Phone Port DigitMap. If sp2 is the Primary Line and (Mpli) is referenced in the Phone Port DigitMap, then (Msp2) is deciding what numbers with no ** codes are allowed, unless (Musefpl) is also in there. (Except for 911 etc that are specified directly). For the routing of calls the setting for Primary Line does not matter as (Mpli) is not referenced in your Phone Port OutboundCallRoute.
QuoteNote that your string matches 99051234567 or 1012799051234567 because x. means 0 or more digits.
I would like to change all of your x. to 1? , except that ianobi once pointed out that the question mark did not work in some particular case. I don't remember if this is the case. Wait to see if he comments before considering that.
Shale is correct in what he says. "1?" should work in your case. The problem I found is that if 1?905xxxxxxx and 1xxxxxxxxxx are in the same digit map, then 1xxxxxxxxxx takes precedence every time. This means no matching will take place with numbers starting "1?".
QuoteI'd still love to know why it worked last week (I swear it did) and then it didn't.
I guess something changed. Even firmware updates have been known to change digit maps.
QuoteI used the ThreeHappyPenguins/AZRobert solution.
Yup, that's the best solution to the *98 problem