Specific VM configuration for internal vs outside calls


I’m seeking help in configuring VM in a specific way. We have IVR for inbound outside calls which is configured to allow direct dial of an extension. When ext is not-avail or busy, it should ring to operator (instead of going to ext’s VM). But for internal calls, if ext is not answering, it should naturally go to its VM.

I have a feeling that this can be configured via follow-me and playing with different contextes… Could someone push me in the right direction how to accomplish the above?

thanks in advance!