When your service provider uses the same function code as FreePBX, that sequence will always be intercepted by the PBX and never make it to the provider. One solution is to create a Custom Extension. In /etc/asterisk/extensions_custom.conf add:
- "*86" – The local unused feature code you are going to reassign
- "SIP" – You can put IAX here instead
- "voipms" – The name of the trunk you want to use for the outbound call
- "*97" – The code you want to send to your provider
The go into Admin | Custom Extensions and add a new entry.
So, when a provider is using *97 for their voicemail you can now dial *86 to access it. *97 will still access the FreePBX voicemail.
An Alternate Method
Use the prepend field in a dial pattern for the outbound route. In this case, FreePBX sees the *86, strips it off and prepends *97.