warning – this is a long post “the dialplan is not meant for it” Can you clarify? I think I can do things in Elastix that the base FreePBX user cannont. Elastix Without Tears says “While freePBX is a very versatile GUI front-end for Elastix it does not have the facility to configure a PBX for multi-Tenants application. However, Elastix (Asterisk) has the ability to do it with a little creative manipulation.”
This creative manipulation is simply setting up different incominng IVRs (I can uncheck the ability for callers to extension dial on the IVR settings, thereby preventing them from accidentally getting to the wrong company)and creating different call handling contexts in the extensions_custom.conf configuration file. This last part has to be done to direct each company out their appropriate Trunk. I am all SIP, so I could just send them all out the same trunk to my VSP, and I can set the CID in the Extension so ringback will go to the right company, but if I send them all out the same trunk my CDR will show all that trunk, and I"ll have a hard time determining how to bill LD and International. But the way I have it set up it works great – see the commented out routes under each context (ignore from-restricted, I am not using it.)
Now if I could just prevent one extension from 4-digit dialing a defined group. Is there no way to create a 4-digit block of extensions somewhere and then prevent phones from dialing to a commented out set?
[from-internal-primary]
;
; These are all the applications that you will require
;
include => app-cf-busy-off
include => app-cf-busy-off-any
include => app-cf-busy-on
include => app-cf-off
include => app-cf-off-any
include => app-cf-on
include => app-cf-unavailable-off
include => app-cf-unavailable-on
include => app-calltrace
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => app-dialvm
include => app-directory
include => app-dnd-off
include => app-dnd-on
include => app-echo-test
include => app-recordings
include => app-speakextennum
include => app-speakingclock
include => app-userlogonoff
include => app-zapbarge
include => app-vmmain
include => ext-group
include => ext-fax
include => ext-meetme
include => ext-findmefollow
include => ext-paging
include => ext-queues
include => ext-test
include => ext-local
include => parkedcalls
;
; #### OutBound Routes ########
; # Below are all restricted routes #
; ###########################
;
; new outbound-restricted-routes
include => outbound-allroutes-custom
include => outrt-001-9_outside
include => outrt-002-primary
;include => outrt-003-medical
;include => outrt-004-dental
exten => foo,1,Noop(bar)
;
; end of outbound-restricted-routes
;
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)
[from-internal-dental]
;
; These are all the applications that you will require
;
include => app-cf-busy-off
include => app-cf-busy-off-any
include => app-cf-busy-on
include => app-cf-off
include => app-cf-off-any
include => app-cf-on
include => app-cf-unavailable-off
include => app-cf-unavailable-on
include => app-calltrace
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => app-dialvm
include => app-directory
include => app-dnd-off
include => app-dnd-on
include => app-echo-test
include => app-recordings
include => app-speakextennum
include => app-speakingclock
include => app-userlogonoff
include => app-zapbarge
include => app-vmmain
include => ext-group
include => ext-fax
include => ext-meetme
include => ext-findmefollow
include => ext-paging
include => ext-queues
include => ext-test
include => ext-local
include => parkedcalls
;
; #### OutBound Routes ########
; # Below are all restricted routes #
; ###########################
;
; new outbound-restricted-routes
include => outbound-allroutes-custom
include => outrt-001-9_outside
;include => outrt-002-primary
;include => outrt-003-medical
include => outrt-004-dental
exten => foo,1,Noop(bar)
;
; end of outbound-restricted-routes
;
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)
[from-internal-medical]
;
; These are all the applications that you will require
;
include => app-cf-busy-off
include => app-cf-busy-off-any
include => app-cf-busy-on
include => app-cf-off
include => app-cf-off-any
include => app-cf-on
include => app-cf-unavailable-off
include => app-cf-unavailable-on
include => app-calltrace
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => app-dialvm
include => app-directory
include => app-dnd-off
include => app-dnd-on
include => app-echo-test
include => app-recordings
include => app-speakextennum
include => app-speakingclock
include => app-userlogonoff
include => app-zapbarge
include => app-vmmain
include => ext-group
include => ext-fax
include => ext-meetme
include => ext-findmefollow
include => ext-paging
include => ext-queues
include => ext-test
include => ext-local
include => parkedcalls
;
; #### OutBound Routes ########
; # Below are all restricted routes #
; ###########################
;
; new outbound-restricted-routes
include => outbound-allroutes-custom
include => outrt-001-9_outside
;include => outrt-002-primary
include => outrt-003-medical
;include => outrt-004-dental
exten => foo,1,Noop(bar)
;
; end of outbound-restricted-routes
;
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)
[from-restricted]
;
; These are all the applications that you will require
;
include => app-cf-busy-off
include => app-cf-busy-off-any
include => app-cf-busy-on
include => app-cf-off
include => app-cf-off-any
include => app-cf-on
include => app-cf-unavailable-off
include => app-cf-unavailable-on
include => app-calltrace
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => app-dialvm
include => app-directory
include => app-dnd-off
include => app-dnd-on
include => app-echo-test
include => app-recordings
include => app-speakextennum
include => app-speakingclock
include => app-userlogonoff
include => app-zapbarge
include => app-vmmain
include => ext-group
include => ext-fax
include => ext-meetme
include => ext-findmefollow
include => ext-paging
include => ext-queues
include => ext-test
include => ext-local
include => parkedcalls
;
; #### OutBound Routes ########
; # Below are all restricted routes #
; ###########################
;
; new outbound-restricted-routes
include => outbound-allroutes-custom
include => outrt-001-9_outside
include => outrt-002-primary
include => outrt-003-medical
include => outrt-004-dental
exten => foo,1,Noop(bar)
;
; end of outbound-restricted-routes
;
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)