I am sorry to let you know, but on further testing of the implementation I suggested, I am finding some errors, and the calls are not working according to the custom context I have defined. It was working up until I did an upgrade to FreePBX 2.4, but I wll look into it as I need to have it fixed somehow.
Before you could define a [custom-trunk-1] on extensions_custom.conf, so I had done that as follows:
[custom-trunk-1]
; applications are now mostly all found in from-internal-additional in _custom.conf
include => from-internal-xfer
include => bad-number
include => parkedcalls
include => from-internal-custom
;allow phones to dial other extensions
include => ext-fax
;allow phones to access generated contexts
;
; MODIFIED (PL)
;
; Currently the include for findmefollow is being auto-generated before ext-local which is the desired
behavior.
; However, I haven't been able to do anything that I know of to force this. We need to determine if it should
; be hardcoded into here to make sure it doesn't change with some configuration. For now I will leave it out
; until we can discuss this.
;
include => ext-local-confirm
include => findmefollow-ringallv2
;include => from-internal-additional
;commenting line above in order to copy the context from this module and only select what is needed
; This causes grief with '#' transfers, commenting out for the moment.
; include => bad-number
include => from-internal-additional-custom
include => app-recordings
include => app-blacklist
include => ext-group
include => grps
include => app-daynight
include => app-daynight-toggle
include => ext-paging
include => app-pbdirectory
include => app-dnd-off
include => app-dnd-on
include => ext-findmefollow
include => fmgrps
include => app-dictate-record
include => app-dictate-send
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 => ext-queues
include => app-gabcast
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => ext-meetme
include => app-languages
include => app-dialvm
include => app-vmmain
include => app-calltrace
include => app-directory
include => app-echo-test
include => app-speakextennum
include => app-speakingclock
include => vmblast-grp
include => app-userlogonoff
include => app-pickup
include => app-zapbarge
include => app-chanspy
include => ext-test
include => ext-local
;include => outbound-allroutes
;commenting line above to defined the outbound routes that this extension will use
;below are the routes to be used by this trunk only
include => outbound-allroutes-custom
include => outrt-001-emergency
include => outrt-002-BellsouthService
include => outrt-003-tollfreeMIA
include => outrt-004-DADEcallsMIA
include => outrt-005-PRcellcallsMIA
include => outrt-006-UScallsMIA
include => outrt-007-INTERNATIONALcallsMIA
exten => foo,1,Noop(bar)
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)
; end of [custom-trunk-1]
Then I could just the context on each of the extension to the custom trunk that I have defined, but I recently noticed that this is not working anymore. I will try to see if there is an alternate solution and post it here when i find it.