I'm trying to write some dialplan patterns to allow my users to control call forwarding from their handsets. Right now, I have this in extensions.conf: [forwarding] exten => _*21*X.X*,1,Macro(set-cfim,${CALLERIDNUM},${EXTEN:4}) I was hoping that this would match any string of the form *21*nnn*, where nnn is 3 or more digits. But Asterisk seems to ignore the final X*, and allows it to match strings of any length that start *21*nn. This is a problem because many of my users are using GXP-2000s with Early Dial enabled: I need Asterisk to go on rejecting the number with "484 address incomplete" until it sees the final * digit. Can anybody give me a clue how to accomplish this? thanks p.
> This is a problem because many of my users are using GXP-2000s with > Early Dial enabled: I need Asterisk to go on rejecting the number with > "484 address incomplete" until it sees the final * digit. > > Can anybody give me a clue how to accomplish this?If the phone is even entry quality, it should have a digit map which the user can change to avoid this problem. You could also use a trick like *21* going to a new context and waiting for digits (with a slighly longer timeout) and have it "trigger" on the longest possible number. perhaps if local extension were of the form 2nnn or 2nn and you want to use both local and normal local POTS numbers you can use two or more extensions: _*21*2xx* _*21*2xxx* _*21*nxxnxxxx* etc. Use the include=> "trick" to prioritize the last three properly. just a few half-baked ideas