Feature code overlap with extensions, how to work around it?

Hi. Trying to transfer a call directly to voicemail for extension 720, I’d dial *720 (Snom 360/370 or Polycom 330 phones)

Unfortunately this is interpreted by asterisk as *72, call forward unconditional to “0”

I could change my call forwarding to something other than *72 and reprogram every phone in the office, however I’d rather not, and instead fix the underlying problem (if possible).

I would prefer to have *7xx recognized before *72(any random length or nothing). Is that possible? If so, where?

If *72 could only work with 3 digit extensions, *72xxx wouldn’t interfere with a direct transfer to voicemail, *7xx.

Another example might be *74 “Call Forward All Prompting Deactivate”, while
*740 is “Call Forward Toggle”. Is it just random luck that *740 isn’t caught as *74 or is there some sort of ordering at work? I can’t find any discussion of this.


You did not mention what type of phones you are using, but this problem is typically caused by the digit mapping of your phone. I deploy a lot of Polycom and Cisco/Linksys and they both have the ability to configure patterns that are matched when dialing digits on the handset.

Oh yeah they are snom 360/370 I should have mentioned that.

So the phone’s dialplan… For some reason I totally discounted that idea earlier not sure why just stupid maybe.

I will check into it thanks.

Allow me to revise that… I discounted it because my phone doesn’t have a dial plan. I have to hit the checkmark to dial a number. What can the phone’s dialplan do to prevent *720 from being interpreted by asterisk as *72 ext 0?

deactivate * codes (star codes) on your phone.

Sorry I don’t know what you mean by that. Perhaps you could explain. I don’t believe the phone is consuming these star codes for itself and I’m not sure how that would relate to the order in which feature codes are parsed by the server.


I recommend that you change the transfer to voicemail feature code from * to something else, such as *86. You can make this change using the General Settings module.

Note that I’ve included this recommendation in the FreePBX documentation…


Thanks for the suggestion. I hadn’t found that configuration option before and wasn’t sure how it was implemented.

I used to hand-code misc destinations for each {extension}+100, so for example direct voicemail for ext 720 would be ext 820. It wasn’t ideal but it worked. But then I found the star code prefix and thought that was far better since my staff only had to remember to prepend a star. Requiring them to memorize some random code like *86 just seems so completely unnecessary. I would rather solve the underlying problem with the feature codes.

I’m not at all afraid to dig into source and get my hands dirty to figure this out. I find it really strange that with all the precise dial plan type stuff we have everywhere else that the feature codes could be treated in such a random manner. I’m still hoping someone will have an answer to my question: Is it just random luck [how codes are parsed out] or is there some sort of ordering at work?