Skip to main content

Class of Service

Class of services define a route to take when an Extension is placing a call. A class of service can contain multiple components to place a call through in order of a priority system. These are explained in greater detail below. Hunt Groups as well as PhoneMap Groups also must have a class of service defined to function properly. Most systems will have default classes of services (as well as routes) however additional ones can be created in the CLI for more advanced routing configurations. 

  • Class of Service: A Class of service can be defined to take another class of service
  • Route: A Class of Service can take a route which takes a trunk group, and then in turn a trunk.
  • Phonegroup: A class of service can directly call out to another phonegroup.
  • Literal: ??

Adding an Extension

1) Enter the CLI's configuration mode

2) Enter the name of the Trunk Group you wish to create. You will be prompted with the minimum required settings. 

vbox-nathan(config)# cos billing_reroute
!! Notice: Editing new item: billing_reroute
!! Notice: Minimum requirements needed for insert:
!!   desc
vbox-nathan(config-cos billing_reroute)# desc "Rerouted calls to billing from specific extensions"

3) After this you will need to define the includes that the class of service will take. This can be done with the following command which takes a number indicating the first include that the class of service will attempt to take.

vbox-nathan(config-cos billing_reroute)# cos_include 1         ### first include that the class of service will attempt to take 
vbox-nathan(config-cos billing_reroute pos-1)# include         ### use tab to get a list of the potential includes that a class of service can take, remember you are not limited to just routes
cos:internal               cos:internal+local         cos:internal+local+ld      cos:internal+local+ld+intl literal:catchall           literal:default            literal:services
phonegroup:Billing         phonegroup:internal        phonegroup:outbound        route:A_Route              route:emerg                route:intl                 route:ld10
route:ld10_reg             route:ld11                 route:ld11_reg             route:local
vbox-nathan(config-cos billing_reroute pos-1)# include route:intl
vbox-nathan(config-cos billing_reroute pos-1)# exit
vbox-nathan(config-cos billing_reroute)# cos_include 2         ### second include a cos will attempt to take 
vbox-nathan(config-cos billing_reroute pos-2)# include route:A_Route
vbox-nathan(config-cos billing_reroute pos-2)# exit
vbox-nathan(config-cos billing_reroute)#

4) Use the show command to ensure your settings have been saved. In this example, we have only added 2 includes, but you are able to add as many as necessary. 

vbox-nathan(config-cos billing_reroute)# show
! Generating running-config
!!!
 
! -------------- Class of Services ----------------
cos billing_reroute
  desc "Rerouted calls to billing from specific extensions"
  cos_include 1
    include route:intl
    exit
  cos_include 2
    include route:A_Route
    exit
  exit
 
exit

Class of Service Settings Description

You can also use the "?" key to view the description while in the CLI.  * indicates a required setting.

Settings Comments
cos_include Create or change an include in this class of service
desc

(*) Description

do

To run exec commands in config mode

exit Exit from this level (with notification of incomplete config)
no

Clear settings

reorder Change the order of class of service includes
show Show the running-config for the current item
include (*) Item to include