Access Privileges

There are multiple ways of controlling user access privileges to dialling out of the organisation.

Below is one method that relies only on the dialplans.

The privileges are configured through two hierarchies:

  • the access control, and
  • the national number plan

In our most basic configuration, the restrictions are based around differences in costs for different outbound classes of calls.

The hierarchy of calls, where the highest privilege is also authorised to user lower privilege access.

  • International calls are most expensive
  • national calls (domestic)
  • mobile telephone services
  • local calls
  • internal
 1 [authorised-all]
 2 
 3 include => authorised-international
 4 
 5 [authorised-international]
 6 include => international
 7 include => authorised-domestic
 8 
 9 [authorised-domestic]
10 include => domestic
11 include => authorised-mobile
12 
13 [authorised-mobile]
14 include => mobile
15 include => authorised-local
16 
17 [authorised-local]
18 include => authorised-internal
19 include => free
20 
21 [authorised-internal]
22 include => emergency
23 include => phones

The above Access Control List (ACL) Hierarchy matches up with the available national number scheme. Which for Australia will look something like this.

 1 [international]
 2 exten => _0011.,1,Goto(dial_trunk,${EXTEN},1)
 3 
 4 [domestic]
 5 exten => _ZXXXXXXX,1,Goto(dial_trunk,${EXTEN},1)
 6 exten => _0[235678]XXXXXXXX,1,Goto(dial_trunk,${EXTEN},1)
 7 
 8 [mobile]
 9 exten => _04XXXXXXXX,1,Goto(dial_trunk,${EXTEN},1)
10 
11 [free]
12 exten => _1[38]00XXXXXX,1,Goto(dial_trunk,${EXTEN},1)
13 exten => _13XXXX,1,Goto(dial_trunk,${EXTEN},1)
14 exten => _119X,1,Goto(dial_trunk,${EXTEN},1)
15 
16 [emergency]
17 exten => _000,1,Goto(dial_trunk,${EXTEN},1)
18 exten => _106,1,Goto(dial_trunk,${EXTEN},1)