Acme Packet Provisioning Framework

Post on 28-Nov-2014

944 views 9 download

description

Build automated provisioning workflows for Acme Net-Net Central using server-side Javascript

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