The sip:provider CE provides a large amount of subscriber features in order to offer compelling VoIP services to end customers, and also to cover as many deployment scenarios as possible. In this chapter, we will go over the features and describe their behavior and their use cases.
There are two different methods to provide fine-grained call admission control to both subscribers and admins. One is Block Lists, where you can define which numbers or patterns can be called from a subscriber to outbound direction and which numbers or patterns are allowed to call a subscriber in inbound direction. The other is NCOS Levels, where the admin predefines rules for outbound calls, which are grouped in certain levels. The user can then just choose the level, or the admin can restrict a user to a certain level. Also sip:provider CE offers some options to restrict the IP addresses that subscriber is allowed to use the service from. The following chapters will discuss these features in detail.
Block Lists provide a way to control which users/numbers are able to call or to be called, based on a subscriber level.
Block Lists are separated into Administrative Block Lists (adm_block_*) and Subscriber Block Lists (block_*). They both have the same behavior, but Administrative Block Lists take higher precedence. Administrative Block Lists are only accessible by the system administrator and can thus be used to override any Subscriber Block Lists, e.g. to block certain destinations. The following break-down of the various block features apply to both types of lists.
Block lists can either be whitelists or blacklists and are controlled by the User Preferences block_in_mode, block_outmode__ and their administrative counterparts.
You can change a list mode from one to the other at any time.
The list contents are controlled by the User Preferences block_in_list, block_out_list and their administrative counterparts. Click on the Edit button in the User Preferences view to define the list entries.
In block list entries, you can provide shell patterns like *
and []
. The behavior of the list is controlled by the block_xxx_mode feature (so they are either allowed or rejected). In our example above we have block_out_mode set to blacklist, so all calls to US numbers and to the Austrian number +431234567 are going to be rejected.
For incoming call, the User Preference block_in_clir and adm_block_in_clir controls whether or not to reject incoming calls with number supression (either "[Aa]nonymous" in the display- or user-part of the From-URI or a header Privacy: id is set). This flag is independent from the Block Mode.
NCOS Levels provide predefined lists of allowed or denied destinations for outbound calls of local subscribers. Compared to Block Lists, they are much easier to manage, because they are defined on a global scope, and the individual levels can then be assigned to each subscriber. Again there is the distinction for user- and administrative-levels.
NCOS levels can either be whitelists or blacklists.
To create an NCOS Level, go to Number Management→NCOS.
Enter a name, select the mode and add a description, then click the Add button.
To define the rules within the newly created NCOS Level, click on the name of the level.
In the Number Patterns section you can enter multiple patterns to define your level, one after the other.
In this example, we block (since the mode of the level is blacklist) all numbers starting with 439
. Click the
Add button to save the entry in the level.
The option include local area code in list for a blacklist means that calls within the area code of the subscribers are
denied, and for whitelist that they are allowed, respectively. For example if a subscriber has country-code 43 and area-code 1,
then selecting this checkbox would result in an implicit entry ^431
.
Once you’ve defined your NCOS Levels, you can assign them to local subscribers. To do so, navigate to User Administration→Subscribers, search for the subscriber you want to edit, go to the Preferences Tab and press the Edit button.
Navigate down to the ncos and adm_ncos preference drop-downs and select your NCOS Level. Navigate further down to the end of the preference list and press the Save button.
You can assign the NCOS level to all subscribers within a particular domain. To do so, navigate to System Administration→Subscribers, select domain you want to edit, go to the Preferences Tab and press the Edit button. Select your NCOS Level in the ncos or adm_ncos preference drop-down. Press the Save button.
Note: if both domain and subscriber have same NCOS preference set (either ncos or adm_ncos, or both) the subscriber’s preference is used. This is done so that you can override the domain-global setting on the subscriber level.
The sip:provider CE provides subscriber preference allowed_ips to restrict the IP addresses that subscriber is allowed to use the service from. If the REGISTER or INVITE request comes from an IP address that is not in the allowed list, the sip:provider CE will reject it with a 403 message. Also a voice message can be played when the call attempt is rejected (if configured).
By default, allowed_ips is an empty list which means that subscriber is not restricted. If you want to configure a restriction, navigate to User Administration→Subscribers, search for the subscriber you want to edit, go to the Preferences Tab and scroll down to the allowed_ips preference.
Press the Edit button to the right of empty drop-down list.
You can enter multiple allowed IP addresses or IP address ranges one after another. Click the Add button to save each entry in the list. Click the Delete button if you want to remove some entry.
The sip:provider CE provides the capabilities for normal call forwarding (deflecting a call for a local subscriber to another party immediately or based on events like the called party being busy or doesn’t answer the phone for a certain number of seconds) and serial call hunting (sequentially executing a group of deflection targets until one of them succeeds). Targets can be stacked, which means if a target is also a local subscriber, it can have another call forward or hunt group which is executed accordingly.
Call Forwards and Call Hunting Groups can either be executed unconditionally or based on a Time Set Definition, so you can define deflections based on time period definitions (e.g. Monday to Friday 8am to 4pm etc).
A Call Forward is always based on a Destination Set, which contains one (for normal Call Forwards) or more (for Hunt Groups) destinations.
To define a Destination Set, go to the Preferences Tab of a subscriber and click on the Edit Destination Sets button in the Call Forwards section.
You can create a Destination Set by setting a name for the set and press the Add button.
Once you created your destination set, you can add destinations to it. Select either one of the internal services (Voicebox, Fax2Mail if available, Conferencing) or define a number or SIP URI. You can also define how long to try this destination (which is important for Hunt Groups if you want to let a destination only ring for a certain amount of seconds). Click the Add button once you are done to save the destination.
If you want to add more destinations for a Destination Set in order to create a Hunt Group, click the Edit button of the Destination Set.
To rearrange the order of the destinations within a Destination Set, just drag&drop the entries to the proper position.
You can define multiple destination sets to be used for different types of forwards (unconditional, busy etc.) and for different Time Sets (using one Destination Set during office hours and else another one).
In order to activate a Destination Set to be used always (that is, without a Time Set constraint), go back to your Call Forwards section in the Preferences view and select the Destination Set you want to use for the particular scenario, then press the Add button. Since no Time Sets have been defined yet, you can only select always for the period option.
To define certain time periods in which a Destination Set should be active, click on the Edit Time Sets button in the Call Forwards section.
Like with Destination Sets, you can create multiple Time Sets to be used for different scenarios, and you can assign multiple Time Sets to a specific Call Forward.
To create a Time Set, just provide a name and click the Add button.
Once the Time Set is created, you can add Time Period Definitions. To do so, drag&drop the building blocks from the top into the slots of your Time Set.
The ranges mean from through to, so an hour range 08-17 means from start of hour 8 to end of hour 17, which is 08:00:00-17:59:59. Also note that ranges wrap around nicely, so an hour range definition 23-01 works perfectly fine. |
To define a more complex period definition which defines after-office-hours (Mo-Fri from 00:00 to 08:29 and from 18:00-00:00, and Sat-Sun the whole day), you need three different rules as shown in the figure below:
Once you’ve defined a row, click the Add button next to the row. If you want to add more rows to a Time Set, just click the Edit button next to the Time Set Name.
To use a previously defined Time Set, go back to the Call Forward section of the Preferences view and select it from the
drop-down of the appropriate scenario, along with a Destination Set. If you already use a Destination Set, click the Edit
button to add a Time Set for this scenario.
Note that you can add multiple rows per scenario. For our after office hours
example above, we can add a new Time Set called
public holidays
, which defines all public holidays where your office is closed, then add both of them for the Call
Forward Unconditional scenario, like this:
Of course you can set different Destination Sets for different Time Sets for a specific Call Forward scenario.