Do not disurb for external calls only?

Have someone asking if there’s a way to route external calls to voicemail, like with DND, and still allow internal calls to ring.

Not seeing anything like this in the DND wiki.


Not without a little custom code. Handling it based on a setting in the ASTDB should probably be reasonably simple; I just don’t know anyone that’s done it. @lgaetz has a GitHub repo that has all kinds of weird cool code - maybe he’s got something squirreled away.

Are you looking for something like a Time Condition, perhaps? That would do what you’re describing, but from a ‘server’ perspective.

Thanks, Dave.

This is one of those installs where we spent hours talking about call flow, gave them a week to test, and as soon as it went live they changed what they wanted.

They want internal calls to ring extensions normally.

They want external calls, even those that are extension routed/“dialed” at the IVRs, to go directly to voicemail.

FWIW, the handsets are in a closed office. They are running Zulu remotely. Once they go back to the office, this need goes away.

Of course.

OK - so anything that comes in from “outside” (not an extension) can be routed through a time condition or other flow control. Extensions don’t use Inbound and Outbound routes, so as long as you do it with the Inbound Route, it should get you what you are looking for.

Another option - use the FMFM module on the desk phones. Set each desk phone up to forward to one of the other “extensions” and everything else gets dropped into email. @lgaetz has a bunch of examples of inbound route “redirectors” including one that works by extension. If the granularity is small, through, I suspect the “least horrible” solution will be an inbound context that sends to call to whatever destination you specify. You can specify the incoming to go to an email box, an extension, or whatever from the specific (DID specific) inbound route. The ‘turn it off’ part is going to suck, but you should be getting paid by the hour. :slight_smile:

Would not the destination for inbound routes set to voicemail/extension/(choice) work?

1 Like

It could. And right now the entire call flow, through multiple ring groups and IVRs has extension dialing and operator dialing enabled, so I’d have to redo call flow to an IVR that had extension and operator dialing disabled, but sort of fake extension dialing by including all the extensions in the options of the IVR. And that would require using the old-style dial timeout since there is first-digit duplication on the extensions. I was hoping there was something simple they can enable and disable as they like. Best case is probably to build out alternate call flow and IVR messages.

If you are not otherwise using FMFM you could create a dial prefix (i.e. 558) such that calls to 558XXXX look for the channel variable DIRECTION=INBOUND and if so answer the channel and send the call to extension vm but otherwise hangup. Then you could config FMFM for the extension so that it rings both the extension and the extension with the prefix. First one that answers ‘wins’ and the prefix will only answer if the call arrived on an inbound route.

exten => _558X.,1,Noop(Entering user defined context from-internal-custom in extensions_custom.conf)
exten => _558X.,n,GoToIf($["${DIRECTION}"="INBOUND"]?from-internal,*{EXTEN:3},1)   ;strip prefix and go to direct dial vm
exten => _558X.,n,Hangup()

I haven’t tested any of that, not the dialplan nor the concept, but the broad strokes look right.

Thank you, Lorne. For now I built an alternate call flow with two IVRs and a company directory that route calls to voicemail boxes instead of extensions. And I’m billing for it :slight_smile:

Will loop back and try to digest the sample you posted, too.


This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.