Custom Dialplan Transfer issue

Dear All ,
we have problem a limited User A call a limited User B who transfer the call to an external user through a outbound routes on which he s not allowed.
How could we solve the problem of this transfer?

How did you “limit” the user?

If user A is calling User B, and user B lacks self control and transfers the call out you simply restrict user B in the same manner as user A. This seems to be a internal policy issue not a software issue. If you give someone the keys to the front door you must trust them to use them wisely or take them away.

through the context on their context they don t have the rights to go on the outbounds lines.

@jfinstrom as i told a while ago User A and User B are in a context on which they can t go out therefore there is a problem.
normally the problem resides on the transfer context that we can t find because in the context transfer it appears any user could go through the outbounds routes without even been authorized.
Thanks to let me know

To clarify what context?

could you answer to my question if user A calls user B and B transfer a call to an unknown user to put A in contact with the calling destination where can we control the process of transfer ?

Make a test you ll see the problem you may have 2 users limited to call internally when A calls B and B transfer the call through a predefined outbounds routes that exists he goes out without problems on that routes even if you put the password he can reach the outbound but he s not authorized to do so .

No one there to help me out?

##Short answer##
no

##Long answer##

There is not enough information here.
We don’t know what you are doing
We don’t know how you are trying to accomplish your security
We don’t know if you made something up or are using internal mechanisms.
Your title says Asterisk, Are you using FreePBX at all?
Are you using custom contexts?

##Getting an answer##
Please provide meaningful details. The more details the better the answer. Right now we know you have people able to dial out. We don’t know where they are or how they got there.

@jfinstrom Ok to be clear i m using freebpx embedded on elastix.

I have 2 contexts -other and director - other can call internally meaning all extensions inside the company and director could go out on outbounds routes.

A (other context) Calls B ( other context) —B Picks and transfer the call to an outbound number and the calls goes out without even having director context.What might be the problem?

Could you help me solve it?
Thanks

in other words how can i block a user that is not authorized to forward calls on a route on which he s not having access?Thanks for your support

ok progress so you have written your own context. I am going to go ahead and remove “BUG” from the title. Please post your context here. Pleasw wrap it in triple back-tics.

``` 
code 
```

full file of extensions _customs.conf

; This file contains the contexts the agents login for the module call center.
; and contains the context conferences for module conferences of elastix 1.0.
 
;[from-internal-custom]				
;exten => 1234,1,Playback(demo-congrats)
;exten => 1234,2,Hangup()
;exten => h,1,Hangup()

[DIRECTOR]
include => agentlogin
include => conferences
include => calendar-event
include => weather-wakeup
include => app-speeddial
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-cf-toggle
include => app-dnd-off
include => app-dnd-on
include => app-dnd-toggle
include => app-gabcast
include => vmblast-grp
include => app-fmf-toggle
include => ext-findmefollow
include => fmgrps
include => app-pbdirectory
include => app-fax
include => ext-queues
include => app-queue-toggle
include => app-languages
include => app-recordings
include => ext-meetme
include => app-calltrace
include => app-directory
include => app-echo-test
include => app-speakextennum
include => app-speakingclock
include => app-blacklist
include => app-dictate-record
include => app-dictate-send
include => app-dialvm
include => app-vmmain
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => ext-group
include => grps
include => ext-paging
include => app-userlogonoff
include => app-pickup
include => app-zapbarge
include => app-chanspy
include => ext-test
include => ext-local

include => outbound-allroutes-custom
include => outrt-1 ; camtel
include => outrt-2 ; MTN-ORANGE
include => outrt-3 ; EXTERIEUR
exten => foo,1,Noop(bar)
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)
;
[MANAGER]
include => agentlogin
include => conferences
include => calendar-event
include => weather-wakeup
include => app-speeddial
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-cf-toggle
include => app-dnd-off
include => app-dnd-on
include => app-dnd-toggle
include => app-gabcast
include => vmblast-grp
include => app-fmf-toggle
include => ext-findmefollow
include => fmgrps
include => app-pbdirectory
include => app-fax
include => ext-queues
include => app-queue-toggle
include => app-languages
include => app-recordings
include => ext-meetme
include => app-calltrace
include => app-directory
include => app-echo-test
include => app-speakextennum
include => app-speakingclock
include => app-blacklist
include => app-dictate-record
include => app-dictate-send
include => app-dialvm
include => app-vmmain
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => ext-group
include => grps
include => ext-paging
include => app-userlogonoff
include => app-pickup
include => app-zapbarge
include => app-chanspy
include => ext-test
include => ext-local

include => outbound-allroutes-custom
include => outrt-1 ; camtel
include => outrt-2 ; MTN-ORANGE
;include => outrt-3 ; EXTERIEUR
exten => foo,1,Noop(bar)
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)
;
[OTHER]
include => agentlogin
include => conferences
include => calendar-event
include => weather-wakeup
include => app-speeddial
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-cf-toggle
include => app-dnd-off
include => app-dnd-on
include => app-dnd-toggle
include => app-gabcast
include => vmblast-grp
include => app-fmf-toggle
include => ext-findmefollow
include => fmgrps
include => app-pbdirectory
include => app-fax
include => ext-queues
include => app-queue-toggle
include => app-languages
include => app-recordings
include => ext-meetme
include => app-calltrace
include => app-directory
include => app-echo-test
include => app-speakextennum
include => app-speakingclock
include => app-blacklist
include => app-dictate-record
include => app-dictate-send
include => app-dialvm
include => app-vmmain
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => ext-group
include => grps
include => ext-paging
include => app-userlogonoff
include => app-pickup
include => app-zapbarge
include => app-chanspy
include => ext-test
include => ext-local

include => outbound-allroutes-custom
include => outrt-1 ; camtel
;include => outrt-2 ; MTN-ORANGE
;include => outrt-3 ; EXTERIEUR
exten => foo,1,Noop(bar)
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)
;
[MTN_ORANGE]
include => agentlogin
include => conferences
include => calendar-event
include => weather-wakeup
include => app-speeddial
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-cf-toggle
include => app-dnd-off
include => app-dnd-on
include => app-dnd-toggle
include => app-gabcast
include => vmblast-grp
include => app-fmf-toggle
include => ext-findmefollow
include => fmgrps
include => app-pbdirectory
include => app-fax
include => ext-queues
include => app-queue-toggle
include => app-languages
include => app-recordings
include => ext-meetme
include => app-calltrace
include => app-directory
include => app-echo-test
include => app-speakextennum
include => app-speakingclock
include => app-blacklist
include => app-dictate-record
include => app-dictate-send
include => app-dialvm
include => app-vmmain
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => ext-group
include => grps
include => ext-paging
include => app-userlogonoff
include => app-pickup
include => app-zapbarge
include => app-chanspy
include => ext-test
include => ext-local

include => outbound-allroutes-custom
;include => outrt-1 ; camtel
include => outrt-2 ; MTN-ORANGE
;include => outrt-3 ; EXTERIEUR
exten => foo,1,Noop(bar)
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)
;
[INTERNATIONAL]
include => agentlogin
include => conferences
include => calendar-event
include => weather-wakeup
include => app-speeddial
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-cf-toggle
include => app-dnd-off
include => app-dnd-on
include => app-dnd-toggle
include => app-gabcast
include => vmblast-grp
include => app-fmf-toggle
include => ext-findmefollow
include => fmgrps
include => app-pbdirectory
include => app-fax
include => ext-queues
include => app-queue-toggle
include => app-languages
include => app-recordings
include => ext-meetme
include => app-calltrace
include => app-directory
include => app-echo-test
include => app-speakextennum
include => app-speakingclock
include => app-blacklist
include => app-dictate-record
include => app-dictate-send
include => app-dialvm
include => app-vmmain
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => ext-group
include => grps
include => ext-paging
include => app-userlogonoff
include => app-pickup
include => app-zapbarge
include => app-chanspy
include => ext-test
include => ext-local

include => outbound-allroutes-custom
;include => outrt-1 ; camtel
;include => outrt-2 ; MTN-ORANGE
include => outrt-3 ; EXTERIEUR
exten => foo,1,Noop(bar)
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)
;

[INTERNE]
include => agentlogin
include => conferences
include => calendar-event
include => weather-wakeup
include => app-speeddial
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-cf-toggle
include => app-dnd-off
include => app-dnd-on
include => app-dnd-toggle
include => app-gabcast
include => vmblast-grp
include => app-fmf-toggle
include => ext-findmefollow
include => fmgrps
include => app-pbdirectory
include => app-fax
include => ext-queues
include => app-queue-toggle
include => app-languages
include => app-recordings
include => ext-meetme
include => app-calltrace
include => app-directory
include => app-echo-test
include => app-speakextennum
include => app-speakingclock
include => app-blacklist
include => app-dictate-record
include => app-dictate-send
include => app-dialvm
include => app-vmmain
include => app-callwaiting-cwoff
include => app-callwaiting-cwon
include => ext-group
include => grps
include => ext-paging
include => app-userlogonoff
include => app-pickup
include => app-zapbarge
include => app-chanspy
include => ext-test
include => ext-local

include => outbound-allroutes-custom
;include => outrt-1 ; camtel
;include => outrt-2 ; MTN-ORANGE
;include => outrt-3 ; EXTERIEUR
exten => foo,1,Noop(bar)
exten => h,1,Hangup
exten => s,1,Macro(hangupcall)
exten => h,1,Macro(hangupcall)

;
[agentlogin]
exten => _*8888.,1,Set(AGENTNUMBER=${EXTEN:5})
exten => _*8888.,n,NoOp(AgentNumber is ${AGENTNUMBER})
exten => _*8888.,n,AgentLogin(${AGENTNUMBER})
exten => _*8888.,n,Hangup()
 
[mm-announce]
exten => 9999,1,Set(CALLERID(name)="MMGETOUT")
exten => 9999,n,Answer
exten => 9999,n,Playback(conf-will-end-in)
exten => 9999,n,Playback(digits/5)
exten => 9999,n,Playback(minutes)
exten => 9999,n,Hangup

[conferences]
;Used by cbEnd script to play end of conference warning
exten => 5555,1,Answer
exten => 5555,n,Wait(3)
exten => 5555,n,CBMysql()
exten => 5555,n,Hangup

[calendar-event]
exten => _*7899,1,Answer				
exten => _*7899,2,Playback(${FILE_CALL})
exten => _*7899,3,Wait(2)		
exten => _*7899,4,Hangup()

[weather-wakeup]
exten => *61,1,Answer 
exten => *61,2,AGI(nv-weather.php) 
exten => *61,3,Hangup 
exten => *62,1,Answer 
exten => *62,2,AGI(wakeup.php) 
exten => *62,3,Hangup 

Any help?

On the report of the freepbx instead of seeing that the outbound calls was done by B user it displays that it s A who did the call to outbounds there is a serious problem on the call transfer process.
Still waiting for your help

Is there a reason you haven’t looked at our Extension Routing module to handle what you are trying to do? Just curious. If not you may want to look at here.

To learn how you can obtain the Extension Routing module, please see How to Purchase Commercial Modules

That appears to be an answer to my problem i ll give it a glance