network provision provisioning results to rules inventory rules client Figure 6.7 Template-based provisioning flow. before they can be used in provisioning. The server provides several ways of adding custom rules and functions, so that the data can be massaged or rejected before they are presented to operators or before they are applied in actual provisioning. The flow of the provisioning framework is illustrated in Figure 6.7. In words, the provisioning flow can be described as follows: 1. The client application requests the template from the server. 2. The server then loads the template requested. 3. Parameters provided by the client are inserted into the template per the XML configuration. 4. The server gathers inventory data as specified in the XML template, and tem- plate parameters may be used. Network data are gathered, using the template parameters and inventory data as far as necessary, and are used to complete the XML template. 6. Template rules and filters (if any) are applied. 7. The template is sent to the client. 8. The client receives the template and renders it for the user. A client user-inter- face component (a forms wizard) allows client applications to embed their own code. This component takes the XML template as an argument and executes the rest. 9. After the user has filled in the forms, the modified template is returned to the server to activate provisioning. 10. Users inputs are substituted as necessary in the returned template. 11. If pre-provisioning rules and filters were set up for the template, then they are applied. 12. The XML code that represents configuration data is sent to the multi-protocol configuration module to execute provisioning of the network as specified in the 13. If the provisioning is successful, then the inventory database is updated as spec- ified in the template. OSS for Telecom Networks 14. Post-provisioning rules and filters (if any) in the template are applied. 15. Final results are returned to the client. Many cases of provisioning for SNMP, TL1, CLI/Telnet, 