Cisco Carrier Sensitive Routing User Guide Version 1.1 Corporate Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.
THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS.
C O N T E N T S Preface vii Overview vii Who Should Use This Guide Document Organization viii Document Conventions viii vii Related Documentation and References ix Obtaining Documentation ix World Wide Web ix Documentation CD-ROM ix Ordering Documentation Documentation Feedback ix x Obtaining Technical Assistance Cisco.
Contents Exporting a Database 2-2 Reintializing a Database 2-3 Database Functionalities 2-3 Database Tables 2-4 Configuration Tables 2-4 Dataset Tables 2-10 PostgreSQL Database Command Summary C H AP TER 3 2-17 Cisco Carrier Sensitive Routing Application Operations Activating CSR 3-1 3-1 Single Instance 3-1 CSR as a Daemon 3-1 CSR as a User Process 3-2 Multiple Instances Deactivating CSR C H AP TER 4 3-3 CSR GUI Functionalities Activating the GUI 3-2 4-1 4-1 Configuring CSR with the GUI 4-2
Contents Deleting Contacts 4-18 Creating, Modifying, and Deleting Contact Lists Creating Contact Lists 4-19 4-19 Modifying Contact Lists 4-20 Deleting Contact Lists 4-21 Creating, Modifying, and Deleting Egress Route Attributes 4-21 Creating Egress Route Attributes 4-21 Modifying Egress Route Attributes 4-23 Deleting Egress Route Attributes 4-25 Creating, Modifying, and Deleting Ingress Route Attributes Creating Ingress Route Attributes 4-26 Modifying Ingress Route Attributes 4-28 Deleting Ingress Rout
Contents AP PE N DIX A Logging A-1 Configuring Syslog Examples A-1 A-2 Viewing Logs A-2 Sample logs A-3 AP PE N DIX B Data Schema B-1 Configuration Data Schema Dataset Schema AP PE N DIX C B-5 Error Conditions and Recoveries Database Connectivity Loss Gatekeeper Connectivity Loss GL OS SA RY IN DEX Cisco Carrier Sensitive Routing User Guide vi B-1 C-1 C-1 C-2
Preface This preface describes the objective, audience, organization, and conventions of the Cisco Carrier Sensitive Routing User Guide .
Preface Document Organization Document Organization This guide is organized as follows: Chapter1, “Overview of Cisco Carrier Sensitive Routing” Provides an overview of the postgreSQL database, CSR application, and CSR graphical user interface (GUI). Chapter2, “PostgreSQL Database Operations and Describes the operations and functionalities of the Functionalities ” postgreSQL database.
Preface Related Documentation and References Related Documentation and References • Carrier Sensitive Routing Installation Guide For Sun/Solaris, Java, and postgreSQL database information, go to the following URLs: • http://www.sun.com • http://java.sun.com • http://www.postgresql.org Obtaining Documentation These sections explain how to obtain documentation from Cisco Systems. World Wide Web You can access the most current Cisco documentation on the World Wide Web at this URL: http://www.cisco.
Preface Obtaining Technical Assistance Documentation Feedback You can submit comments electronically on Cisco.com. In the Cisco Documentation home page, click the Fax or Email option in the “Leave Feedback” section at the bottom of the page. You can e-mail your comments to bug-doc@cisco.com.
Preface Obtaining Technical Assistance Cisco TAC inquiries are categorized according to the urgency of the issue: • Priority level 4 (P4)—You need information or assistance concerning Cisco product capabilities, product installation, or basic product configuration. • Priority level 3 (P3)—Your network performance is degraded. Network functionality is noticeably impaired, but most business operations continue.
Preface Obtaining Technical Assistance Cisco Carrier Sensitive Routing User Guide xii
C H A P T E R 1 Overview of Cisco Carrier Sensitive Routing The Cisco Carrier Sensitive Routing (CSR) application provides end users with the capability to manipulate the routing of calls from the gatekeeper based on the ingress carrier and the DNIS. The routing can be based on QoS along with many other attributes pertaining to a carrier. With CSR, you can provision data specific to carriers that pertain to your network to maximize cost, QoS, and carrier relations.
Chapter1 Overview of Cisco Carrier Sensitive Routing CSR Components CSR Components The three major components of CSR are as follows. • postgreSQL Database • CSR application • CSR GUI The CSR GUI and the CSR application are not directly connected. They are both connected to the database. Figure1-1 illustrates these components. Figure1-1 CSR Components CSR Basics This section describes the basic operation of CSR. After CSR is started, it registers with the gatekeeper connected to a network.
Chapter1 Overview of Cisco Carrier Sensitive Routing CSR Basics CSR evaluates the predetermined selection and rejection criteria as part of the source carrier and DNIS information to determine what routing information to return to the gatekeeper. Note CSR can operate with multiple gatekeepers. CSR passes through the ANI, but its work is not based on the ANI. If the CSR receives the destination carrier, it passes the call through with the same information that it receives.
Chapter1 Overview of Cisco Carrier Sensitive Routing CSR Basics Ingress Rejection Rules • Reject Max Origination Percentage • Reject Max Ingress Units • Reject Max Ingress Units per Route Egress Rejection Rules • Reject Egress Cost Greater than Ingress • Reject Insufficient QoS • Reject Max Egress Units Exceeded • Reject Max Egress Units per Route Exceeded • Prevent ITSP to ITSP • Select Min Cost per Egress Route • Select Best QoS • Select Same Carrier • Select Percentage Egress •
Chapter1 Overview of Cisco Carrier Sensitive Routing CSR Limitations CSR Limitations • When two rules are available (a rule associated with the carrier and a rule associated with a route), the rule associated with the carrier is chosen first. If one of the rules (carrier’s rule) does not exist, the rule associated with a route is used.
Chapter1 CSR Limitations Carrier Sensitive Routing User Guide 1-6 Overview of Cisco Carrier Sensitive Routing
C H A P T E R 2 PostgreSQL Database Operations and Functionalities This chapter describes the operations and functionalities of the postgreSQL database and contains the following sections: • Database Operations, page 2-1 • Database Functionalities , page 2-3 The postgreSQL database is a relational database management system. A database in this management system stores entities such as carriers, rules, contacts, routes, and the relationships among the entities.
Chapter2 PostgreSQL Database Operations and Functionalities Database Operations • -S—Tells the postmaster to run in silent mode. This is not recorded to a log file. • -i—Tells postmaster to allow network connections. If this is not set, the postmaster accepts connections only from the local host. Note Note This is needed for the GUI to connect to the database even when it is running on the same machine. • -B and -N—Set up shared memory segments.
Chapter2 PostgreSQL Database Operations and Functionalities Database Operations Exporting a Database To export a database to a text file or to back up the entire database system, perform the following steps: Exporting to a Text File Step 1 Export a database into a text file by entering the following command: pg_dump –x databasename > outfile Note Step 2 "-x" is optional. When it is used, the “dumped” database loses the ownership information.
Chapter2 PostgreSQL Database Operations and Functionalities Database Functionalities Database Functionalities This section describes the following: • Database Tables, page 2-4 • PostgreSQL Database Command Summary , page 2-17 Database Tables This section describes database tables, constraints placed on each table, and relationships between tables. Note Advanced knowledge of SQL is required to access the database through SQL commands. Use the psql interface to access an SQL prompt.
Chapter2 PostgreSQL Database Operations and Functionalities Database Functionalities Table2-1 Configuration Data Table Name Type Allow Null Default Constraints Comments ActiveDataset text NO ‘_1’ Valid values: There are two datasets in the CSR (active and inactive). There are two of each table for entities that are created (for example, Carriers_1, Carriers_2). The active dataset marks which of the above is active.
Chapter2 PostgreSQL Database Operations and Functionalities Database Functionalities Table2-1 Configuration Data Table (continued) Name Type Allow Null Default ThreadCount integer NO 10 Number of threads in the working pool that handle routes in the rules engine. This number must be adjusted for different systems. MaxSizeOfQueue integer NO 5000 Maximum size of the queue to handle calls. Typically, the queue is either empty or has an entry.
Chapter2 PostgreSQL Database Operations and Functionalities Database Functionalities Table2-1 Configuration Data Table (continued) Name Type Allow Null Default RejectSrcUnits boolean NO FALSE If this rejection rule applies, the CSR returns a rejection instead of a null body. RejectNoDstCarri boolean er NO FALSE If this rejection rule applies, the CSR returns a rejection instead of a null body.
Chapter2 PostgreSQL Database Operations and Functionalities Database Functionalities Table2-2 Gatekeeper Table (continued) Name Type Allow Null Default ListenLRJ boolean NO FALSE Set to TRUE if registering for this type of message. ListenRAI boolean NO FALSE Set to TRUE if registering for this type of message. ListenBRQ boolean NO FALSE Set to TRUE if registering for this type of message.
Chapter2 PostgreSQL Database Operations and Functionalities Database Functionalities Table2-4 Name Type Allow Null TestKey integer NO Foreign key. Key of this test (see TestRoutes table). SelectOrder integer NO For a given TestKey, this shows the order in which the carriers will be returned. The database does not guarantee the original ordering. DstCarrierID varchar(64) NO ID of Destination Carrier.
Chapter2 PostgreSQL Database Operations and Functionalities Database Functionalities Table2-7 Filters Table Name Type Allow Null FilterKey integer NO Primary key. Key of the filter. GKID varchar(64) NO Foreign key. ID of the gatekeeper associated with this filter.
Chapter2 PostgreSQL Database Operations and Functionalities Database Functionalities Table2-8 Carriers Table Name Type Allow Null CarrierKey integer NO CarrierName varchar(64) NO CarrierType text NO Default Constraints Comments <>0 Primary key. Key of the carrier. Name of carrier. Valid values: • home • itsp • tdm CarrierID varchar(64) MaxIngressUnits integer >=0 Maximum ingress units. MaxEgressUnits integer >=0 Maximum egress units.
Chapter2 PostgreSQL Database Operations and Functionalities Database Functionalities Note Tables MatchPatterns_1 and MatchPatterns_2 can inherit from this table. Table2-10 Routes Table Name Type Allow Null Default Constraints Comments RouteKey integer NO <> 0 Primary key. Key of the route. RouteName text Name of the route. RuleKey integer Foreign key. Rule associated with this route. Note Tables Routes_1 and Routes_2 can inherit from the Routes table.
Chapter2 PostgreSQL Database Operations and Functionalities Database Functionalities Table2-11 Rules Table (continued) Allow Null Default RejectMaxOriginationPercentage boolean NO FALSE Indicates whether to reject this rule. RejectMaxIngressUnits boolean NO FALSE Indicates whether to reject this rule. RejectMaxIngressUnitsPerRoute boolean NO FALSE Indicates whether to reject this rule. RejectEgressCostMoreThanIngre ss boolean NO FALSE Indicates whether to reject this rule.
Chapter2 PostgreSQL Database Operations and Functionalities Database Functionalities Table2-11 Rules Table (continued) Name Type Allow Null Default Constraints Comments SelectPreferredCarrier integer NO 0 >= 0 and <= 5 Specifies preferred carrier. SelectPercentageEgress integer NO 0 >= 0 and <= 5 Specifies egress percentage. Note Tables Rules_1 and Rules_2 can inherit from the Rules table.
Chapter2 PostgreSQL Database Operations and Functionalities Database Functionalities Lists Table Table2-13 Lists Table Name Type Allow Null ListKey integer NO ListName text Note Default Constraints Comments <> 0 Primary key. Key of the list. Name of the list. Tables Lists_1 and Lists_2 can inherit from the Lists table. Table2-14 ContactLists Table Allow Null Name Type ListKey NO Foreign key. Key of the list. ContactKey NO Foreign key. Key of the contact.
Chapter2 PostgreSQL Database Operations and Functionalities Database Functionalities Table2-15 RouteAttributes Table (continued) Name Type Allow Null DaypartType text NO Valid values: • absolute • weekly • daily • always Comments The CSR searches for the correct value in the following order: • absolute = specific date/time range. Start date, end date, start time, and end time must be entered. • weekly=a specific day of the week during a specific time.
Chapter2 PostgreSQL Database Operations and Functionalities Database Functionalities Table2-16 EgressRouteAttributes Table Name Type QoS integer ListKey integer Note Allow Null Default Constraints Comments >= 0 and <= 9 Quality of service. Foreign key. Key of list associated with this egress route attribute. EgressRouteAttributes_1 and EgressRouteAttributes_2 can inherit from the EgressRouteAttributes and RouteAttriubtes tables.
Chapter2 PostgreSQL Database Operations and Functionalities Database Functionalities Note Tables IngressRoutes_1, IngressRoutes_2, EgressRoutes_1, and EgressRoutes_2 can inherit from this QoS table. PostgreSQL Database Command Summary Following is a summary of frequently used postgreSQL commands. Refer to the online manual pages and help section for more information. • createdb—Creates a new database in postgreSQL. A database name is required when using this command.
C H A P T E R 3 Cisco Carrier Sensitive Routing Application Operations This chapter describes the following Cisco Carrier Sensitive Routing application operations: • Activating CSR , page 3-1 • Deactivating CSR , page 3-3 Activating CSR This section provides instructions on running single and multiple instances of the CSR application. The CSR application typically is installed to run at one instance on a dedicated machine, although it can be run at multiple instances on the same machine.
Chapter3 Cisco Carrier Sensitive Routing Application Operations Activating CSR CSR as a User Process While the CSR is running as a daemon, other instances may run as user processes.
Chapter3 Cisco Carrier Sensitive Routing Application Operations Deactivating CSR Deactivating CSR To stop CSR, log in to the CSR GUI by performing the following steps: Step 1 At the system prompt, enter the following command: /usr/local/csr/gui/csrgui & The login dialog box in F i g u r e 3 - 1 ‘Login Dialog Box” appears. Figure3-1 Step 2 Login Dialog Box Enter the information on the Login screen as follows: a. Enter the user name. The range is 1 to 32 characters. b. Enter the password.
Chapter3 Cisco Carrier Sensitive Routing Application Operations Deactivating CSR Figure3-2 CSR Window Step 3 Click the CSR Commands tab. Step 4 Click Shutdown CSR . This shuts down all CSRs connected to this database. All current calls are dropped, and connections to gatekeepers are terminated.
C H A P T E R 4 CSR GUI Functionalities This chapter describes CSR functionalities and commands, and contains the following sections: • Activating the GUI, page 4-1 • Configuring CSR with the GUI, page 4-2 • Updating Active Datasets, page 4-12 • Updating Inactive Datasets, page 4-39 • CSR Commands, page 4-41 • Multiple GUI Operation, page 4-46 Activating the GUI Step 1 To start the GUI, enter the following command at the system prompt: /usr/local/csr/gui/csrgui & The Login dialog box appears
Chapter4 CSR GUI Functionalities Configuring CSR with the GUI Step 2 Enter the information in the Login dialog box as follows: a. Enter the user name. The range is 1 to 32 characters. b. Enter the password. The range is 1 to 32 characters. c. Enter the host name where the database is located. This can be a remote or local machine. The range is 1 to 32 characters. d. Enter the port number. This is the port on the system for the database connection. The range is 1 to 32767. e. Enter the DB Name.
Chapter4 CSR GUI Functionalities Configuring CSR with the GUI Figure4-2 Configuration Management Tab in CSR Window Changing Log Levels To change the logging level for the messages to be logged to syslog, select from the Logging Level pull-down menu.
Chapter4 CSR GUI Functionalities Configuring CSR with the GUI Figure4-3 Logging Level Pull-down Menu The available levels are as follows: • Error—Only messages containing severe errors are logged. Optimally, this level may not generate any error messages. • Information—Informational messages are generated and sent to syslog. A message at this level is likely to be generated for each route request. This logging level can slow down performance.
Chapter4 CSR GUI Functionalities Configuring CSR with the GUI Adding, Modifying, and Removing Gatekeepers To add, modify, and remove gatekeepers, log in to CSR and select the Configuration Management tab in the CSR window. Use the Current Gatekeepers area on the screen to add, modify, or remove gatekeepers. Adding Gatekeepers This section describes the steps to add a gatekeeper and its associated messages and filters. Step 1 To add a gatekeeper, click Add in the Current Gatekeepers area.
Chapter4 CSR GUI Functionalities Configuring CSR with the GUI Step 2 Εnter the ID of the gatekeeper to be added. The range is 1 to 64 characters. Step 3 Εnter remote address (IP address) of the gatekeeper to be connected to. The format is x.x.x.x where x is a number from 0 to 255. Step 4 Εnter port on the gatekeeper used for connection. The range is 1 to 32767. Step 5 Click Connected or Disconnected to connect the gatekeeper to or disconnect the gatekeeper from the CSR. The default is Connected.
Chapter4 CSR GUI Functionalities Configuring CSR with the GUI Figure4-7 Filters Pop-up Menu Step 9 Click a filter on the pop-up menu.
Chapter4 CSR GUI Functionalities Configuring CSR with the GUI Figure4-9 Step 11 Sample Filter Display To delete a filter to the message, select from the pull-down menu for the filter. The following screen appears (Figure4-10 “Delete Filter Display”): Figure4-10 Delete Filter Display Step 12 Click Delete. Step 13 Click OK to save the changes, or click Cancel to cancel the changes.
Chapter4 CSR GUI Functionalities Configuring CSR with the GUI Modifying Gatekeepers This section describes how to modify an existing gatekeeper. Step 1 Select a gatekeeper from the gatekeeper list in the Current Gatekeepers area, as follows ( Figure4-11 “Current Gatekeepers Area in CSR Window”). Figure4-11 Current Gatekeepers Area in CSR Window Step 2 Click Modify. The following dialog box appears ( Figure4-12 “ Registered Messages and Filters Dialog Box for an Existing Gatekeeper”).
Chapter4 CSR GUI Functionalities Configuring CSR with the GUI Figure4-12 Registered Messages and Filters Dialog Box for an Existing Gatekeeper Step 3 To modify a message and its filters associated with the gatekeeper, click the round button to the left of the message. Step 4 Use the steps in adding messages and filters in the “Adding Gatekeepers” section on page5. Step 5 Click OK to save the changes, or click Cancel to cancel the changes.
Chapter4 CSR GUI Functionalities Configuring CSR with the GUI Step 1 To remove an existing gatekeeper, select a gatekeeper from the gatekeeper list in the Current Gatekeepers area. Step 2 Click Remove. The following message appears (Figure4-13 “Delete Gatekeeper Message”). Figure4-13 Delete Gatekeeper Message Step 3 Click Yes to remove the gatekeeper, or click No to retain the gatekeeper.
Chapter4 CSR GUI Functionalities Updating Active Datasets Step 3 To enter the maximum number of calls allowed to be queued, enter a number for “Maximum Queue Size.” The default is 5000. If this number is too low, the gatekeeper connection waits for the CSR to catch up. If this number is too high, the turnaround time per message may be too long during busy hours and the gatekeeper routes the call on its own. Step 4 Click OK to save the changes, or click Cancel to cancel the changes.
Chapter4 CSR GUI Functionalities Updating Active Datasets • Egress and ingress route attributes • Match patterns • Routes • Rules After you log in to CSR and select the Active Dataset tab in the CSR window, the following screen appears (Figure4-16 “Active Dataset Tab in CSR Window”): Figure4-16 Active Dataset Tab in CSR Window The following sections describe functionalities and operations of the Active Dataset tab.
Chapter4 CSR GUI Functionalities Updating Active Datasets Creating Carriers Note Step 1 At least one contact list must be created before a carrier can be created. There must be a single carrier of “Home” type created for the provisioned data. See the “Deleting Contact Lists ” section on page4-21. In the Active Dataset screen in the CSR window, if Carriers is not selected in the Selection box, click the down arrow in that box.
Chapter4 CSR GUI Functionalities Updating Active Datasets Figure4-18 Dialog Box for New Carrier in Active Dataset The carrier key is the primary key of this carrier in the Carriers table. When a new carrier is being created, “ %%%%” is displayed. Step 3 In the Carrier ID box, enter the ID of the carrier. The range is 1 to 64 characters. Step 4 In the Carrier name box, enter name of the carrier. The range is 1 to 64 characters.
Chapter4 CSR GUI Functionalities Updating Active Datasets Figure4-19 Dialog Box for an Existing Carrier in Active Dataset Step 3 Change the information accordingly. Step 4 Click Modify to save the changes, or click Cancel to cancel the changes. Deleting Carriers Step 1 In the Active Dataset tab in the CSR window, if Carriers is not selected in the Selection box, click the down arrow in that box, then select Carrier from the pull-down menu. Step 2 In the Carriers area, click a carrier.
Chapter4 CSR GUI Functionalities Updating Active Datasets Note Alternatively, you can delete a carrier by clicking Delete when you are in the dialog box for modifying the carrier. Creating, Modifying, and Deleting Contacts This section describes the steps to create, modify, and delete contacts. Creating Contacts Step 1 In the Active Dataset tab screen in the CSR window, click the down arrow in the Selection box, then select Contacts from the pull-down menu. Step 2 Click New.
Chapter4 CSR GUI Functionalities Updating Active Datasets Step 5 In the Cost box, enter cost associated with this contact. The entry must be greater than 0. This is optional. Step 6 In the Priority box, enter priority of this contact. The entry must be greater than 0. This is optional. Step 7 Click New to add this contact, or click Cancel to exit.
Chapter4 CSR GUI Functionalities Updating Active Datasets Step 2 In the Contacts area, click a contact. You can select more than one contact by holding down the Ctrl key while clicking each contact. Step 3 Click Delete . A Delete message appears: Step 4 Click Yes to delete the contact, or click No to stop the deletion. Note Alternatively, you can delete a contact by clicking Delete when you are in the screen for modifying the contact.
Chapter4 CSR GUI Functionalities Updating Active Datasets The key shown on the screen is the primary key of this contact list in the Contact List table. When a new contact list is being created, “%%%%” is displayed. Step 3 In the Contact List Name box, enter the name of the contact list. The range is 1 to 64 characters. Step 4 In the Available Contacts box, you can select a contact and click Add to add that contact to the Associated Contacts box.
Chapter4 CSR GUI Functionalities Updating Active Datasets Step 4 Click Modify to save the changes, or click Cancel to cancel the changes. Deleting Contact Lists Step 1 In the Active Dataset tab in the CSR window, click the down arrow in the Selection box, then select Contact Lists from the pull-down menu. Step 2 In the Contact Lists area, click a contact list. You can select more than one list by holding down the Ctrl key while clicking each contact list. Step 3 Click Delete.
Chapter4 CSR GUI Functionalities Updating Active Datasets Figure4-25 Dialog Box for New Egress Route Attribute in Active Dataset The key shown on the screen is the primary key of this egress route attribute in the Egress Route Attributes table. When a new egress route attribute is being created, “%%%%” is displayed. Step 3 In the Name box, enter the name of this egress route attribute. The range is 1 to 64 characters. This entry is optional.
Chapter4 CSR GUI Functionalities Updating Active Datasets Step 10 In the Date/Time area, click Daily, Weekly, Absolute or Constant . The egress route attribute is being applied according to these time segments. a. If you select Daily, enter Start Time and End Time. Use the format shown in the example at the bottom of the Date/Time area: hour(0-23):min (0-60):sec (0-60) b. If you select Weekly, select day of the week from the pull-down menu and enter the Start Time and the End Time. c.
Chapter4 Updating Active Datasets Figure4-26 List of Egress Route Attribute Names in Active Dataset Cisco Carrier Sensitive Routing User Guide 4-24 CSR GUI Functionalities
Chapter4 CSR GUI Functionalities Updating Active Datasets Step 3 From the list, select an Egress Route Attribute by double-clicking on that attribute. Egress Route Attributes information similar to the following appears ( Figure4-27 “ Dialog Box for an Existing Egress Route Attribute in Active Dataset”): Figure4-27 Dialog Box for an Existing Egress Route Attribute in Active Dataset Step 4 Change the information accordingly.
Chapter4 CSR GUI Functionalities Updating Active Datasets Step 4 Click Delete. A Delete message appears: Step 5 Click Yes to delete the attribute, or click No to stop the deletion. Note Alternatively, you can delete an attribute by clicking Delete when you are in the dialog box for modifying the attribute. . Creating, Modifying, and Deleting Ingress Route Attributes This section describes the steps to create, modify, and delete Ingress Route Attributes.
Chapter4 CSR GUI Functionalities Updating Active Datasets Figure4-28 Dialog Box for New Ingress Route Attribute in Active Dataset The key shown on the screen is the primary key of this Ingress Route Attribute in the Ingress Route Attributes table. When a new ingress route attribute is being created, “%%%%” is displayed. Step 3 In the Name box, enter the name of this ingress route attribute. The range is 1 to 64 characters. This entry is optional.
Chapter4 CSR GUI Functionalities Updating Active Datasets hour(0-23):min (0-60):sec (0-60) b. If you select Weekly, select day of the week from the pull-down menu and enter the Start Time and the End Time. c. If you select Absolute, enter the Start Date, Start Time, End Date, and End Time. The Start Date is the date when the ingress route attribute becomes active. The End Date is the date when it becomes inactive.
Chapter4 CSR GUI Functionalities Updating Active Datasets Figure4-29 Dialog Box for an Existing Ingress Route Attribute in Active Dataset Step 4 Change the information accordingly. Step 5 Click Modify to save the changes, or click Cancel to leave the changes. Deleting Ingress Route Attributes Step 1 In the Active Dataset tab in the CSR window, click the down arrow in the Selection box, then select Ingress Route Attributes from the pull-down menu.
Chapter4 CSR GUI Functionalities Updating Active Datasets Note Alternatively, you can delete an attribute by clicking Delete when you are in the dialog box for modifying the attribute. Creating, Modifying, and Deleting Match Patterns This section describes the steps to create, modify, and delete Match Patterns. Creating Match Patterns Step 1 In the Active Dataset tab in the CSR window, click the down arrow in the Selection box, then select Match Patterns from the pull-down menu. Step 2 Click New.
Chapter4 CSR GUI Functionalities Updating Active Datasets Modifying Match Patterns Step 1 In the Active Dataset tab in the CSR window, click the down arrow in the Selection box, then select Match Patterns from the pull-down menu. Step 2 In the Match Pattern area, select a pattern by double-clicking on that pattern.
Chapter4 CSR GUI Functionalities Updating Active Datasets Creating, Modifying, and Deleting Routes This section describes the steps to create, modify, and delete routes. Creating Routes Step 1 In the Active Dataset tab in the CSR window, click the down arrow in the Selection box, then select Match Patterns from the pull-down menu. Step 2 Click New.
Chapter4 CSR GUI Functionalities Updating Active Datasets Figure4-33 QoS Relationships Dialog Box in Active Dataset Step 6 a. In the Ingress Carrier box, click the down arrow, then select the ingress carrier from the pull-down menu. b. In the Egress Carrier box, click the down arrow, then select the egress carrier from the pull-down menu. c. In the QoS Value box, enter a number larger than zero. d. Click Add or Remove to add or remove the QoS relationship. e.
Chapter4 CSR GUI Functionalities Updating Active Datasets Figure4-34 Dialog Box for an Existing Route in Active Dataset Step 3 Change the information accordingly. Step 4 Click Modify to save the changes, or click Cancel to leave the changes. Deleting Routes Step 1 In the Active Dataset tab in the CSR window, click the down arrow in the Selection box, then select Routes from the pull-down menu. Step 2 In the Routes area, select a route.
Chapter4 CSR GUI Functionalities Updating Active Datasets Creating, Modifying, and Deleting Rules This section describes the steps to create, modify and delete rules. Creating Rules Step 1 In the Active Dataset tab in the CSR window, click the down arrow in the Selection box, then select Rules from the pull-down menu. Step 2 Click New .
Chapter4 CSR GUI Functionalities Updating Active Datasets • Note This rule rejects a call if the percentage of calls originated by this ingress carrier to a specific route or match pattern exceeds the maximum percentage defined in the ingress route attributes for this ingress carrier. For example, if the maximum percentage is set to 40 percent, the first call made by carrier A to route R succeeds and 100 percent of the calls to route R are now made from ingress carrier A.
Chapter4 CSR GUI Functionalities Updating Active Datasets • Select Same Carrier—If the ingress carrier is also a egress carrier candidate, it is selected and all others are deselected. • Select Percentage Egress—Carriers with a zero percentage egress and sharing the greatest difference between their percentage egress and their maximum percentage egress are selected.
Chapter4 CSR GUI Functionalities Updating Active Datasets Figure4-36 Dialog Box for Existing Rule in Active Dataset Step 3 Change the information accordingly. Step 4 Click Modify to save the changes, or click Cancel to leave the changes. Deleting Rules Step 1 In the Active Dataset tab in the CSR window, click the down arrow in the Selection box, then select Rules from the pull-down menu. Step 2 In the Rule area, select a rule.
Chapter4 CSR GUI Functionalities Updating Inactive Datasets Verifying Datasets To verify whether a dataset is valid, click Verify Dataset in the Dataset Commands area. This command ensures that all the provisioned data for the active dataset is valid. If the dataset is not valid, it cannot be loaded into the active CSR memory. After verification, a message with the verification results appears.
Chapter4 CSR GUI Functionalities Updating Inactive Datasets After you log in to CSR and click the Inactive Dataset tab in the CSR window, the following screen appears (Figure4-37 “Inactive Dataset Tab in CSR Window”): Figure4-37 Inactive Dataset Tab in CSR Window Only one functionality in the Inactive Dataset tab is different from those in the Active Dataset tab. The additional functionality, Destroy Dataset, is described in the following section.
Chapter4 CSR GUI Functionalities CSR Commands Figure4-38 Destroy Message in Inactive Dataset Step 2 Click Yes to destroy the inactive dataset, or No to quit destroying. Activating Inactive Datasets An inactive dataset is not loaded into the CSR memory, with the exception of test commands. To place the dataset in the CSR memory for routing, use the following steps: Step 1 In the Inactive Dataset tab in the CSR window, click Verify Dataset in the Dataset Commands area to verify the inactive dataset.
Chapter4 CSR GUI Functionalities CSR Commands Sending Test Route Request Commands to an Active CSR Application Step 1 Click the CSR Commands tab in the CSR window. The following screen appears ( CSR Commands Tab in CSR Window, page 4-42): Figure4-39 CSR Commands Tab in CSR Window Step 2 In the ANI box, enter the origination pattern. Step 3 In the DNIS box, enter the pattern dialed. Step 4 In the Source Carrier Id box, enter the ingress carrier to be used for testing.
Chapter4 CSR GUI Functionalities CSR Commands Note Step 6 If an egress carrier is specified, the call is ignored. It is assumed that the egress carrier has been found. In the Time box, enter the simulated time to test time-sensitive calls. If this is not specified, the current time is used. The format and an example for time entry are shown below: hour(0-23):min (0-60):sec (0-60) for time, as in 12:59:10 This entry is optional.
Chapter4 CSR GUI Functionalities CSR Commands Step 11 To display a log of actions used to process the test results, click Show Log. The following screen appears (Figure4-41 “Log Entries Generated by the CSR Commands Tab”): Figure4-41 Log Entries Generated by the CSR Commands Tab The log messages, normally routed to syslog, are logged to the database. The logging level is set to Informational for all test requests. See Appendix A , “Logging” for more detail on syslog.
Chapter4 CSR GUI Functionalities CSR Commands Resetting Call Accounting To reset all call units to zero, click Reset Call Accounting. This sets all accounting per carrier and per route/carrier for the CSR. This is the same data used by the Test Route Request functionality. Updating Gatekeepers To update the CSR gatekeepers table, click Update GateKeepers. The CSR unregisters each message type from each gatekeeper and reconnects the gatekeepers on the current list.
Chapter4 CSR GUI Functionalities Checking CSR Version Checking CSR Version To check the CSR version number, select the About tab in the CSR window. Multiple GUI Operation Multiple GUIs can run against a single database and multiple databases. If all users are working in a read-only mode, the following results occur: • If two or more users are modifying the same data, the last saved data is the current data. • A deleted item is visible to a user if another user removes it.
A P P E N D I X A Logging This appendix describes the following activities: • Configuring Syslog • Viewing Logs Configuring Syslog This section provides an overview of the UNIX syslog. For more detail, refer to the online manual page for syslog.conf. Syslog is a general location or mechanism for logging informational messages or error messages. The messages are categorized by level, and each level can be directed to a different location specified by files, consoles, and e-mail addresses.
AppendixA Logging Viewing Logs Messages can originate from the following locations or facilities: • user—User processes from the CSR application. • kern—Kernel • mail—Mail system • daemon—System daemons • auth—Authorization system, such as login or su. • lpr—Print spooler • news—Network new systems Examples ExampleA-1 *.err Syslog sends all error messages from all locations to the console for everyone /dev/console ExampleA-2 kern.
AppendixA Logging Viewing Logs • Name of the machine that generated the log • Application/PID • Log level • Message content • Jan Sample logs Note 2 13:01:14 ciscoe250 CSR01[8333]: ERROR: CSR Started. This is logged at err level to note when the CSR was started, even if debug and informational logging is off. • Jan 2 13:01:15 ciscoe250 CSR01[8333]: DEBUG: Current size of call queue: 0 (2 known GateKeeper(s)).
AppendixA Viewing Logs Cisco Carrier Sensitive Routing User Guide A-4 Logging
A P P E N D I X B Data Schema This appendix describes the following: • Configuration Data Schema • Dataset Schema Configuration Data Schema BEGIN WORK; SET CONSTRAINTS ALL DEFERRED; CREATE TABLE ConfigurationData ( ActiveDataset text NOT NULL DEFAULT '_1' CONSTRAINT ActiveDatasetSuffixInvalid CHECK ( lower(ActiveDataset) = '_1' OR lower(ActiveDataset) = '_2' ), LoggingLevel text NOT NULL DEFAULT 'Error' CONSTRAINT LoggingLevelInvalid CHECK ( lower(LoggingLevel) = 'error' OR lower(LoggingLevel) =
AppendixB Data Schema Configuration Data Schema ListenPort integer CONSTRAINT CSRListenPortInvalid CHECK (ListenPort > 0 AND ListenPort <= 32767), ThreadCount integer MaxSizeOfQueue integer NOT NULL DEFAULT 10, NOT NULL DEFAULT 5000, TestRoutesAccountingEnabled boolean NOT NULL DEFAULT FALSE, RejectSrcCarrierInactive boolean NOT NULL DEFAULT FALSE, RejectNullSrcCarrier boolean NOT NULL DEFAULT FALSE, RejectSrcCarrierUnknown boolean NOT NULL DEFAULT FALSE, RejectDestinationUnknown boolean NO
AppendixB Data Schema Configuration Data Schema ) ); CREATE TABLE TestRoutes ( TestKey integer TestTime time, TestDate date, DatasetID text NOT NULL PRIMARY KEY, DEFAULT '_1' CONSTRAINT DatasetIDInvalid CHECK ( lower(DatasetID) = '_1' OR lower(DatasetID) = '_2' ), ANI varchar(64), DNIS varchar(64), SrcCarrierID varchar(64), DstCarrierID varchar(64), RunMe boolean NOT NULL DEFAULT FALSE, HomeCarrierID varchar(64), ResultCode text ); CREATE TABLE TestOutputs ( TestKey integer NOT
AppendixB Data Schema Configuration Data Schema CREATE TABLE Filters ( FilterKey integer NOT NULL PRIMARY KEY, GKID varchar(64) NOT NULL, MsgType text NOT NULL CONSTRAINT MsgTypeInvalid CHECK ( lower(MsgType) = 'arq' OR lower(MsgType) = 'lrq' OR lower(MsgType) = 'rrq' OR lower(MsgType) = 'urq' OR lower(MsgType) = 'lcf' OR lower(MsgType) = 'lrj' OR lower(MsgType) = 'drq' OR lower(MsgType) = 'brq' OR lower(MsgType) = 'irr' OR lower(MsgType) = 'rai' ), FilterType text NOT NULL CONSTRAINT FilterTyp
AppendixB Data Schema Dataset Schema Dataset Schema BEGIN WORK; SET CONSTRAINTS ALL DEFERRED; CREATE TABLE Carriers ( CarrierKey integer NOT NULL PRIMARY KEY CONSTRAINT CarrierKeyNotZero CHECK (CarrierKey <> 0), CarrierName varchar(64) NOT NULL, CarrierType text NOT NULL CONSTRAINT CarrierTypeInvalid CHECK ( lower(CarrierType) = 'home' OR lower(CarrierType) = 'itsp' OR lower(CarrierType) = 'tdm' ), CarrierID varchar(64) NOT NULL UNIQUE, MaxIngressUnits integer CONSTRAINT MaxIngressUnitsInvali
AppendixB Data Schema Dataset Schema CREATE TABLE Routes ( RouteKey integer NOT NULL PRIMARY KEY CONSTRAINT RouteKeyNotZero CHECK (RouteKey <> 0), RouteName text, RuleKey integer ); CREATE TABLE Routes_1 () INHERITS (Routes); CREATE TABLE Routes_2 () INHERITS (Routes); CREATE TABLE Rules ( RuleKey integer NOT NULL PRIMARY KEY CONSTRAINT RuleKeyNotZero CHECK (RuleKey <> 0), RuleName text, IsDefaultRule boolean NOT NULL DEFAULT FALSE, MinQoS CONSTRAINT MinQoSInvalid integer CHECK (MinQoS
AppendixB Data Schema Dataset Schema CHECK ( SelectBestQoS >= 0 AND SelectBestQoS <= 5 ), SelectSameCarrier integer NOT NULL DEFAULT 0 CONSTRAINT SelSameCarrierInvalid CHECK ( SelectSameCarrier >= 0 AND SelectSameCarrier <= 5 ), SelectPreferredCarrier integer NOT NULL DEFAULT 0 CONSTRAINT SelPreferredCarrierInvalid CHECK ( SelectPreferredCarrier >= 0 AND SelectPreferredCarrier <= 5 ), SelectPercentageEgress integer NOT NULL DEFAULT 0 CONSTRAINT SelPercentageEgressInvalid CHECK ( SelectPercentageE
AppendixB Data Schema Dataset Schema Cost integer CONSTRAINT CostInvalid CHECK (Cost >= 0), Priority integer CONSTRAINT PriorityInvalid CHECK (Priority >= 0) ); CREATE TABLE Contacts_1 () INHERITS (Contacts); CREATE TABLE Contacts_2 () INHERITS (Contacts); CREATE TABLE Lists ( ListKey integer NOT NULL PRIMARY KEY CONSTRAINT ListKeyNotZero CHECK (ListKey <> 0), ListName text ); CREATE TABLE Lists_1 () INHERITS (Lists); CREATE TABLE Lists_2 () INHERITS (Lists); CREATE TABLE ContactLists ( ListKe
AppendixB Data Schema Dataset Schema CHECK (Weekday >=0 AND Weekday <= 6), StartTime time, EndTime time CONSTRAINT TimeRangeInvalid CHECK ( (StartTime ISNULL AND EndTime ISNULL AND lower(DaypartType) = 'always') OR (StartTime NOTNULL AND EndTime NOTNULL AND (StartTime < EndTime) OR ( lower(DaypartType) = 'absolute' AND (StartDate < EndDate) AND (lower(DaypartType) != 'weekly' OR WeekDay NOTNULL) ) )), StartDate date, EndDate date, Cost integer CONSTRAINT CostInvalid CHECK (Cost >= 1), MaxUnits
AppendixB Data Schema Dataset Schema CREATE TABLE QoS ( IngressCarrierKeyinteger NOT NULL, EgressCarrierKey integer NOT NULL, RouteKey integer NOT NULL, RelativeQoS integer NOT NULL CONSTRAINT RelativeQoSInvalid CHECK (RelativeQoS >= 1 AND RelativeQoS <= 9) ); CREATE TABLE QoS_1 () INHERITS (QoS); CREATE TABLE QoS_2 () INHERITS (QoS); CREATE TABLE RouteParent ( RouteKey integer NOT NULL, AttributeKey integer NOT NULL ); CREATE TABLE IngressRoutes_1 () INHERITS (RouteParent); CREATE TABLE
AppendixB Data Schema Dataset Schema CREATE UNIQUE INDEX Contacts_1_PKey ON Contacts_1 (ContactKey); CREATE UNIQUE INDEX Contacts_2_PKey ON Contacts_2 (ContactKey); CREATE UNIQUE INDEX Lists_1_PKey ON Lists_1 (ListKey); CREATE UNIQUE INDEX Lists_2_PKey ON Lists_2 (ListKey); CREATE UNIQUE INDEX Match_1_Pattern ON MatchPatterns_1(Pattern); CREATE UNIQUE INDEX Match_2_Pattern ON MatchPatterns_2(Pattern); CREATE UNIQUE INDEX IRA_1_PKey ON IngressRouteAttributes_1 (AttributeKey); CREATE UNIQUE INDEX IRA_2_P
AppendixB Data Schema Dataset Schema ALTER TABLE Carriers_1 ADD FOREIGN KEY (RuleKey) REFERENCES Rules_1 (RuleKey) DEFERRABLE; ALTER TABLE Carriers_1 ADD FOREIGN KEY (ListKey) REFERENCES Lists_1 (ListKey) DEFERRABLE; ALTER TABLE Carriers_2 ADD FOREIGN KEY (RuleKey) REFERENCES Rules_2 (RuleKey) DEFERRABLE; ALTER TABLE Carriers_2 ADD FOREIGN KEY (ListKey) REFERENCES Lists_2 (ListKey) DEFERRABLE; ALTER TABLE ContactLists_1 ADD FOREIGN KEY (ListKey) REFERENCES Lists_1 (ListKey) DEFERRABLE; ALTER TABLE Conta
AppendixB Data Schema Dataset Schema ALTER TABLE EgressRouteAttributes_2 ADD FOREIGN KEY (CarrierKey) REFERENCES Carriers_2 (CarrierKey) DEFERRABLE; ALTER TABLE EgressRouteAttributes_2 ADD FOREIGN KEY (ListKey) REFERENCES Lists_2 (ListKey) DEFERRABLE; ALTER TABLE QoS_1 ADD FOREIGN KEY (IngressCarrierKey) REFERENCES Carriers_1 (CarrierKey) DEFERRABLE; ALTER TABLE QoS_1 ADD FOREIGN KEY (EgressCarrierKey) REFERENCES Carriers_1 (CarrierKey) DEFERRABLE; ALTER TABLE QoS_1 ADD FOREIGN KEY (RouteKey) (RouteKey)
AppendixB Dataset Schema Cisco Carrier Sensitive Routing User Guide B-14 Data Schema
A P P E N D I X C Error Conditions and Recoveries This appendix describes the following error conditions and recoveries: • Database Connectivity Loss • Gatekeeper Connectivity Loss Database Connectivity Loss During connectivity loss, CSR attempts to reconnect to the database every minute, and it continues to handle gatekeeper requests with the current dataset in memory. However, the following are not available: • Tools associated with the database as follows.
AppendixC Error Conditions and Recoveries Gatekeeper Connectivity Loss Gatekeeper Connectivity Loss Gatekeeper Connectivity Loss can occur for any of the following reasons: • Power failure on gatekeeper • General network problem • Network problem related to the Sun/Solaris system During connectivity loss, CSR attempts to reconnect to the gatekeepers every minute. You can also use the GUI to attempt a reconnection by clicking Update GateKeepers in the CSR Commands tab in the CSR window.
G L O S S A R Y A ANI automatic number identification. ARQ admission request message. B BRQ bandwidth request message. D DNIS dialed number identification service. DNS domain naming system. DRQ disengage request message. G GUI graphical user interface. I irr information request response message. L LCF location confirm message. LRJ location reject message. LRQ location request message.
Glossary R RAI resource availability indication message. RRQ registration request message. U URQ unregistration request message.
INDEX A L active and inactive datasets Active Dataset tab ANI ARQ 1-3 LCF 4-12 1-2 1-3 LogEntries 1-2 Logging 1-2 StringResources 1-3 Logging Level BRQ 4-4 Debug B 4-4 Error 1-2 Information 4-4 see also Updating Logging Level LRJ C LRQ Configuration Management tab CSR Commands tab DNIS DNS 4-41 1-2 R RAI 1-2 registration messages root 1-2 1-2 1-1 Rules 1-2 1-4 Prevent ITSP to ITSP 3-5 DNS server DRQ 1-2 4-2 D Destination carrier 4-45 Reject Egress Cost Greater t
Index S 1-2 Source carrier T Tables 1-3 Carrier Configuration Settings 1-3 1-3 Contact List 1-3 Contacts Egress Route Attributes 1-3 1-3 Egress Routes 1-3 Filters 1-3 Gatekeepers Ingress Route Attributes Ingress Routes 1-3 Match Patterns 1-3 1-3 1-3 QoS 1-3 Routes 1-3 Rules see also Database Tables TestOutputs TestRoutes 2-4 1-3 1-3 U URQ 1-2 Cisco Carrier Sensitive Routing User Guide IN-6