Tom Wellige Posted September 3, 2019 #1 Share Posted September 3, 2019 The following forum topic is restored from the Swyx Forum Archive (2007-2014) Quote 2011-03-02 11:35:35, sceb Hi, we have a phone in our production area that only certain users / extensions should be allowed to call. The number is widely known, a new extension is not an option. I already have something like that in place, I just connected a few Connect Blocks and checked variables. That is fine for 5 to 10 users, but in this case we talk about more than 30 users. Can anybody think of a more elegant solution? Thanks stephan Quote 2011-03-02 13:18:53, rolf.hebgen Hi Stephan, whats about a new call permissions profile for the calling users?&#160; I have not tested yet if you can deny calling internal extensions in a call permissions profile... // Rolf Quote 2011-03-02 13:22:58, Tom Wellige Hi Stephan, what do you think of using a VBScript Array to keep all the numbers, having a simple function to check if the current caller is listed in this array and call this function in an Evaluate block? Something like this: Const AllowedCallersCount = 3 Dim AllowedCallers() Redim AllowedCallers(AllowedCallersCount-1) AllowedCallers(0) = "123" AllowedCallers(1) = "234" AllowedCallers(2) = "345" ' ... Function IsAllowedToCall ( sNumber ) PBXScript.OutputTrace "-------> IsAllowedToCall( " & sNumber & " )" Dim bReturn bReturn = False Dim i For i = LBound(AllowedCallers) To UBound(AllowedCallers) If AllowedCallers(i) = sNumber Then PBXScript.OutputTrace "Number found in list of allowed numbers" bReturn = True End If Next IsAllowedToCall = bReturn PBXScript.OutputTrace "bReturn = " & bReturn PBXScript.OutputTrace "<------- IsAllowedToCall" End Function Within the properties of the Evaluate block to just enter IsAllowedToCall( IpPbx.CallingNumber ) If you end up in the True exit you deliver the call using a Connect To block, if you end up in the False exit you just disconnect (for example). Tom. Quote 2011-03-02 17:10:03, sceb In my understanding you could allow / deny outgoing calls with a permissions profile. I guess it may be possible with a separate profile denying this extension and adding all the users... but I'd prefer to keep the profiles as few as possible, this way I would probably have to create 3 or 4 new profiles. So I prefer Tom's solution... great answer - I was gonna write about evaluating an array (that's what I would do in PHP) but since I don't know VBScript well enough... 😉 However, thanks for the script. I will try it out! stephan Edit: Works great in a first test. I will come back here if I run into any problems 😉 Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.