Post on 28-Nov-2014
description
transcript
Acme Packet ProvisioningScripting framework Build automated provisioning workflows for Acme Net-Net Central using scripting framework
DesignSolution
Define Templates
Add Transaction
s
Connect with your
CRM
Monitor the Process
ImplementSolution
CRM SBCNET NET Central
Design solution
Network Interface
Realm Config
Access Control
Surrogate Agent
Session Agent
Session Agent Group
Session Agent
SIP Interface
Local Policy
Steering Pool
*Per location configuration
*Should be defined per SBC Pair
Design solution
Network Interface
Realm Config
Access Control
Surrogate Agent
Session Agent
Session Agent Group
Session Agent
SIP Interface
Local Policy
Steering Pool
IP Addresses from IP plan, per SBC Pair!
Design solutionEnterprise
IDIP
Addresses
ProvisioningScript
Configuration Templates
SBC1
ACME NNC
SBC2
Implement solutionUse Javascript just as easy as ACLI to configure elements.
network-interface name M10 sub-port-id 505 description ext_SME_VLAN ip-address 10.10.10.10 pri-utility-addr 10.10.10.11 sec-utility-addr 10.10.10.12 netmask 255.255.255.240 gateway 10.10.10.1 dns-timeout 11 hip-ip-list 10.10.10.10
device.NetworkInterface.InitData({ Name: "M10", SubPortId: „505", //VLAN Id IpAddress: "10.10.10.10", Description: " ext_SME_VLAN", UtilityAddress: "10.10.10.11", SecondUtilityAddress: "10.10.10.12", Netmask: „255.255.255.240", Gateway: "10.10.10.1", HipIpList: [{ Ip: "10.10.10.10" }],}).Save();
ACLI Javascript
Implement solutionManage device configuration, and business model defined configurations.
//Session managementACME.Session.Login("user","pwd"); //Device managementvar device = ACME.Session.Device("myDevice");device.LockAndLoad(); //Create config element. Set only parameters you need. //Use default values for the rest of the configurationdevice.NetworkInterface.InitData({ Name: "M10", SubPortId: "300", //VLAN Id IpAddress: "10.2.34.5", //Virtual access SBC IP for the enterprise Description: "Enterprise XX", UtilityAddress: "10.2.34.6", SecondUtilityAddress: "10.2.34.7", HipIpList: [{ Ip: "10.2.34.5" }], IcmpIpList: [{ Ip: "10.2.34.5" }], Netmask: "10.2.34.0", Gateway: "10.2.34.1", GatewaySec: "10.2.34.2"}).Save();//Device managementdevice.SaveAndActivate();//Session managementACME.Session.Logout();
Define templatesDefine templates which will use different configuration data based on the provisioning model
//Template datavar RealmConfigTemplate {
TrustLevel: "low", ErrMsgThreshold: "5", MaxMsgThreshold: "200", MaxMsgThresholdUntrusted: "10" };
//Mix your data with selected template in one line of codeDevice.RealmConfig.InitData(jsonConcat(RealmConfigData, RealmConfigTemplate)).Save();
//Provisioning datavar RealmConfigData = { Id: „E1L1”, AddrPrefix: EnterpriseLocationPrefix, AdditionalPrefixes : [ Prefix1, Prefix2], HmrString : "38534523452" };
Add transactionsUse internal transactional model to easily rollback the whole batch of command based on the business logic.
Transactions help you determine critical actions which must all succeed in order to sucessfully end the provisioning process.
Transactions.AddAction( "NetworkInterface_Create",
//Test function (device, prm) {},
//Action function (device, prm) { device.NetworkInterface.InitData(prm).Save(); },
//Undo action, do this when something else fails function (device, prm, backup) { device.NetworkInterface.InitData(prm).Delete(); });
Connect with your CRMUse messaging support to convert XML messages to Javascript objects (JSON) and call customized provisioning functions.
Provisioning scripts (server-side javascript)
Message Handler
XML provisioning messageCRM
SBC
AC
ME
NN
C
Monitor the ProcessUse messaging support to convert XML messages to Javascript objects (JSON) and call customized provisioning functions.
Provisioning scripts (server-side javascript)
Message Handler
XML provisioning messageCRM
SBC
Monitoring
System
Error!
AC
ME
NN
C
Javascript advantageUse single platform in all phases of the process:
1. Design2. Configuration/Template
definition3. Automated provisioning4. Process Monitoring
Save time using the advantages of the one of most popular languages. Save cost by lowering the implementation time, and change management
• Javascript is an interpreted computer programming language. JavaScript is a prototype-based scripting language that is dynamic, weakly typed, and has first-class functions.
• In addition to web browsers and servers, JavaScript interpreters are embedded in a number of tools.
• JavaScript was formalized in the ECMAScript language standard.
Provisioning Framework
Net-Net Central Web Services
Transaction management
Templates / Configuration
Logging
Utilities
Engine InterfaceExecute scripts, process messages, send alarms
Web EditiorWrite and Execute Scripts
CRMSend & Execute Provisioning Messages
Process MonitoringMonitor Provisioning Workflows
Unified API Interface
DesignSolution
Define Templates
Add Transaction
s
Connect with your
CRM
Monitor the Process
ImplementSolution
CRM SBCNET NET Central
Mislav Petričevićpet tri četiri d.o.o
mislav@pet34.nethttp://pet34.net