Call forwarding

I’ve been looking, and I can’t find anything on how to

setup an extension that is always forwarded to an outside line. The basic idea is
we want an extension that does not have a physical telephone, that will always forward
to whomever is our current on-call person… someone will call the same number (we will assign a DID
to the extension) and it will automatically forward the call without ever ringing locally or even being processed
by an IVR.

Ideally, the number being forwarded to would be easily changed…

Any ideas?

Thanks for reading

Set up the extension as a custom extension.
Don’t put in anything in the dial box
Enable Voicemail.
Set up follow me for the new extension.
In Followme:
Set Initial Ring Time to 0
Set Ring Strategy to ringall
Set the ring time appropriately. (You may want to fiddle with this one)
Check Confirm Calls
Set how you want any unanswered calls to be handled.

Now:
Go to http://ip_address_of_your_server/recordings.

Log into the system using the extension number and the password you assigned when you created email.

Select Follow-Me from the table in the left side of the screen.

Enter the Call Forward Number.

Now, any calls that go to your new extension will be forwarded to the number you just entered.

Bill/W5WAF

Dang, talk about doing things the hard way!!!

Here’s the EASY way…

Make a Misc Destination, put the number you want to forward to in the dial field (as you would dial it from a local extension).

Then make an inbound route for that DID, and set the Destination as the Misc. Destination you just created.

Couldn’t be simpler! And any time you need to change it, just change that Misc. Destination.

Add this code and make your custom destination something like 281 or 282. Then you can dial *281NXXNXXXXXX and change the night number with a phone instead of logging into the FreePBX gui to do it.

;This block of code allows you to change the number that the night line uses
;Put it in the from-internal-custom.
;
;You will need to set up a Misc Destination in FreePBX for each Day/Night
;toggle that you use. Then point the night portion of the Day/Night switch
;to that Misc Destination. In my case, since the Day/Night switches are
;*280 through *289, I created Misc Destinations 281 through 289.
;
;If you dial *280 then a 10-digit number, it will write a database key called
;"DAYNIGHT/N0 and enter the 10 digit number in it. That is what the first block
;code does.
;
;The second block of code is processed when the night mode of a particular
;Day/Night switch is set to the appropriate Misc Destination. If you set the
;night destination of Day/Night *280 to extension 280, the second block of code
;is executed. If you need steering digits, set the second line, “prefixd” to
;your prefix.
;
;This will allow your customer to set the cell phone number that night
;calls go to without giving them access to the Web Interface.

exten => _*28XNXXNXXXXXX,1,noop(Sets the day night phone number)
exten => _*28XNXXNXXXXXX,n,Set(index=${EXTEN:3:1})
exten => _*28XNXXNXXXXXX,n,Set(DB(DAYNIGHT/N${index})=${EXTEN:4})
exten => _*28XNXXNXXXXXX,n,Flite(You have set night number ${index} to )
exten => _*28XNXXNXXXXXX,n,saydigits(${DB(DAYNIGHT/N${index})})
exten => _*28XNXXNXXXXXX,n,Flite(You should dial star 2 8 ${index} to activate the night ring.)
exten => _*28XNXXNXXXXXX,n,hangup()

exten => _28X,1,Set(index=${EXTEN:2})
exten => _28X,n,Set(prefixd=91)
exten => _28X,n,Set(dialnumb=${prefixd}${DB(DAYNIGHT/N${index}))
exten => _28X,n,goto(from-internal,${dialnumb},1)
exten => _28X,n,hangup()

;Modify line 4 above to go direct to voicemail. Change NOMESSAGE to either BUSY or UNAVAIL if needed

I kind of assumed that he didn’t want to give the user direct access to the FreePBX admin GUI. You must trust your users a lot more than I do!!!

Bill/W5WAF

OK, it’s setup just as described,
however, it goes straight to our main (default) IVR

-- Accepting call from 'xxxxxx7100' to '8165' on channel 0/23, span 1
-- Executing [8165@from-pstn:1] NoOp("Zap/23-1", "Catch-All DID Match - Found 8165 - You probably want a DID for this.") in new stack
-- Executing [8165@from-pstn:2] Goto("Zap/23-1", "ext-did|s|1") in new stack
-- Goto (ext-did,s,1)
-- Executing [s@ext-did:1] Set("Zap/23-1", "__FROM_DID=s") in new stack
-- Executing [s@ext-did:2] GotoIf("Zap/23-1", "0 ?cidok") in new stack
-- Executing [s@ext-did:3] Set("Zap/23-1", "CALLERID(name)=xxxxxx7100") in new stack
-- Executing [s@ext-did:4] NoOp("Zap/23-1", "CallerID is "xxxxxx7100" <xxxxxx7100>") in new stack
-- Executing [s@ext-did:5] Set("Zap/23-1", "FAX_RX=disabled") in new stack
-- Executing [s@ext-did:6] Set("Zap/23-1", "__CALLINGPRES_SV=allowed") in new stack
-- Executing [s@ext-did:7] SetCallerPres("Zap/23-1", "allowed_not_screened") in new stack
-- Executing [s@ext-did:8] Goto("Zap/23-1", "ivr-6|s|1") in new stack
-- Goto (ivr-6,s,1)
-- Executing [s@ivr-6:1] Set("Zap/23-1", "LOOPCOUNT=0") in new stack
-- Executing [s@ivr-6:2] Set("Zap/23-1", "__DIR-CONTEXT=default") in new stack
-- Executing [s@ivr-6:3] Set("Zap/23-1", "_IVR_CONTEXT_ivr-6=") in new stack
-- Executing [s@ivr-6:4] Set("Zap/23-1", "_IVR_CONTEXT=ivr-6") in new stack
-- Executing [s@ivr-6:5] GotoIf("Zap/23-1", "0?begin") in new stack
-- Executing [s@ivr-6:6] Answer("Zap/23-1", "") in new stack
-- Executing [s@ivr-6:7] Wait("Zap/23-1", "1") in new stack
-- Executing [s@ivr-6:8] Set("Zap/23-1", "TIMEOUT(digit)=3") in new stack
-- Digit timeout set to 3
-- Executing [s@ivr-6:9] Set("Zap/23-1", "TIMEOUT(response)=0") in new stack
-- Response timeout set to 0
-- Executing [s@ivr-6:10] BackGround("Zap/23-1", "custom/FDBSannouncement") in new stack
-- <Zap/23-1> Playing 'custom/FDBSannouncement' (language 'en')
-- Channel 0/23, span 1 got hangup request, cause 16

here is extensions_additional.conf

exten => 8165,1,Set(__FROM_DID=${EXTEN})
exten => 8165,n,GotoIf($[ “${CALLERID(name)}” != “” ] ?cidok)
exten => 8165,n,Set(CALLERID(name)=${CALLERID(num)})
exten => 8165,n(cidok),Noop(CallerID is ${CALLERID(all)})
exten => 8165,n,SetMusicOnHold(none)
exten => 8165,n,Set(__MOHCLASS=none)
exten => 8165,n,Set(FAX_RX=disabled)
exten => 8165,n,Set(_CALLINGPRES_SV=${CALLINGPRES${CALLINGPRES}})
exten => 8165,n,SetCallerPres(allowed_not_screened)
exten => 8165,n,Goto(from-did-direct,8391,1)

exten => 8391,1,Macro(exten-vm,novm,8391)
exten => 8391,n,Hangup
exten => 8391,hint,9,xxx3045

exten => 8391,1,ExecIf($["${BLKVM_OVERRIDE}" != “”],dbDel,${BLKVM_OVERRIDE})
exten => 8391,n,Set(__NODEST=)
exten => 8391,n,Goto(from-did-direct,8391,1)

any ideas?

You can easily do that by changing the dial option on the extension.
If we say the name of your outbound trunk is ABC and the external number u need to call is 123456 then dial option would be “SIP/ABC/123456|300|”.