Obtain the necessary software, licenses, and account from Calix. In particular, you
will need access to their Subscriber Services API in the Calix Operations Cloud. For the
API usage, you will need the following settings: Client Id,
Client Secret, Username, and
Password.
-
In BillMax, choose Create a Resource name "Calix" and record the associated resource
number. You will need this number when editing the service hook and production
definitions.
-
Choose a location field on the user record not already being used for holding a
unique location identifier required by Calix. Edit the
useridlabels list (. Change the Item field to Calix
ID. Note that the labels vary in the maximum length of data
accepted. Choose a label (2-6) with enough space to hold your unique ID for the
location. This ID has no required format. Choose a schema that provides for
uniqueness when the ID is entered. Using the table below record the field used.
You will need it when editing the service hook.
- useridlabels
Table 1.
Label |
Field |
Size |
Label2 |
ssn |
11 |
Label3 |
dlnumber |
20 |
Label4 |
dlstate |
20 |
Label5 |
maiden |
30 |
Label6 |
custsecret |
50 |
-
Create one or more product (package or service) definitions for Calix services
to be sold and provisioned. In the Provisioning Information tab, click the
Resources checkbox labeled Calix and set up provisioning fields: Mac Address
(Router Mac address), ONT FSAN (Optical access network number) and USOC(Calix
Universal Service Ordering Code). Record the dXX fields
used; you will need them when editing the service hook.
-
Edit the service hook
(/usr/local/billmax/local/service_hook). If the file
does not exist, rename or copy the service_hook-dist file in
the local directory. Make sure the file is owned by
‘billmax’ and is executable. In the service_hook file,
edit the SERVICES hash. Add the following where ? is the resource number used
for Calix:
my $cmd = "$BILLMAXDIR/local/calix.pl";
$SERVICES{?}{name} = "calix";
$SERVICES{?}{provision} = "yes";
$SERVICES{?}{data} = ["-s", "{NEW_state}", "-n", "{NEW_d01}", "-fsan", I I "{NEW_d04}", "-usoc", "{NEW_d05}" ];
$SERVICES{?}{cmd}{create} = "$cmd -action create";
$SERVICES{?}{cmd}{delete} = "$cmd -a delete " . escL($ENV{NEW_d01});
$SERVICES{?}{cmd}{update} = "$cmd -a update";
$SERVICES{?}{remotecmd} = "";
-
Edit the calix.pl script
(/usr/local/billmax/local/calix.pl). Set the credential
values for Client ID, Client Secret,
Username, Password. Set the value
that identifies the field used for the Location ID
(location_field), MAC address
(mac_field), ONT FSAN
(ont_fsan_field) and USOC (usoc
field).
-
Install the user hook
(/usr/local/billmax/local/user_hook). Assuming that no user
hook already exists, create an alias to the calix.pl
script.
-
Execute ln -s calix.pl user_hook
-
Make sure the calix.pl script is owned by
‘billmax’ and is executable.
-
If you already use a user hook for other purposes, you will need to
edit your script to include the calix.pl script
functionality.