Command Line Interface

The Alpaca Command Line Interface is tool for performing complex management tasks on BroadWorks objects - User, Group, Service Provider, and group services. The CLI can be accessed by running alpaca and logging in with a valid BroadWorks user.

Commands can be accessed by navigating to the BroadWorks object that the command resides. The list of available objects from the current location can be displayed by executing get. Navigation can be performed by executing cd with the target object.

Command available from the current location can be displayed by running help or its alias ?.

All

cd

Description: Changes the current CLI location. Usage:

cd <location> 

Example:

cd "Company A"

refresh

Description: Refreshes an Alpaca location Usage:

refresh  

Example:

refresh

detail

Description: Retrieves detailed information about the current location. Usage:

detail  

tasks

Description: Retrieves the list of background Alpaca tasks and their details. Usage:

tasks  [OPTIONS]

OPTIONS:
         -c,--close=<taskName>     Close a task
         -t,--tail=<tailLength>    Log tail size. Defaults to 10.
         -v,--verbose=<taskName>   Verbose information about a specific task.

Example:

tasks --verbose

System

disconnect

Description: Disconnects Alpaca from the named BroadWorks Server. Usage:

disconnect <nickname> 

Example:

disconnect Lab2

get

Description: Retrieves the list of objects that can be accessed from this location. Usage:

get  

tree

Description: Lists all commands in the Alpaca CLI Usage:

tree  [OPTIONS]

OPTIONS:
         -m,--markdown   Output the Tree as a MarkDown document.

Example:

tree --markdown

connect

Description: Connects Alpaca to an additional BroadWorks Server. Usage:

connect <nickname> <hostName> <userName> <password> <ttHostName> 

Example:

connect Lab2 xsp2.lab.net admin password as1.lab.net

Server

add serviceprovider

Description: Adds a Service Provider to the BroadWorks system. Usage:

add serviceprovider <isenterprise> <id> <defaultdomain> <name> 

Example:

add serviceprovider TRUE sp_1000100203 sip.serviceprovider.com "Super Voice Telecom"

import serviceprovider

Description: Imports a ServiceProvider from JSON Usage:

import serviceprovider <file> 

Example:

import service_provider.json

import enterprise

Description: Imports an Enterprise from JSON Usage:

import enterprise <file> 

Example:

import enterprise.json

import user

Description: Imports a user from JSON Usage:

import user <file> 

Example:

import user.json

import group

Description: Imports a group from JSON Usage:

import group <file> 

Example:

import group.json

get

Description: Retrieves the list of objects that can be accessed from this location. Usage:

get  

report groupserviceassigned

Description: Generates a report determining if a Group Service is assigned for the entire BroadWorks system. Usage:

report groupserviceassigned <service> 

Example:

report groupserviceassigned "Voice Messaging"

report voiceportalnotchanged

Description: Generates a report Voice Portal Passcodes and whether they have been modified from the originally provisioned value. Usage:

report voiceportalnotchanged  [OPTIONS]

OPTIONS:
         -w,--writeOutput=<FILENAME>   Write Output to a file

Example:

report voiceportalnotchanged --writeOutput=/tmp/report.txt

report serviceassignments

Description: Generates a report of Service Assignment. Usage:

report serviceassignments  [OPTIONS]

OPTIONS:
         -f,--foldServicePacks         Fold Service Packs by Service Provider
         -w,--writeOutput=<FILENAME>   Write Output to a file

report userdetails

Description: Generates a report of User details. Usage:

report userdetails  [OPTIONS]

OPTIONS:
         -w,--writeOutput=<FILENAME>   Write Output to a file

report migration encumbrances

Description: Generates a report of User migration encumbrances on a per-Group basis. Usage:

report migration encumbrances  

report communicationsbarring criteria

Description: Generates a report of Communication Barring Criteria for the BroadWorks system. Usage:

report communicationsbarring criteria  

report communicationsbarring profile

Description: Generates a report of Communication Barring Profiles for the BroadWorks system. Usage:

report communicationsbarring profile  

report userserviceassigned

Description: Generates a report determining if a User Service is assigned for the entire BroadWorks system. Usage:

report userserviceassigned <service> 

ServiceProvider

add number

Description: Adds a number to the Service Provider. Usage:

add number <number> 

Example:

add number 2295551002

add group

Description: Adds a Group to the Service Provider. Usage:

add group <groupid> <defaultdomain> <userlimit> <groupname> <callinglineidname> 

Example:

add group "Dobson Printing" serviceprovider.com 10 "Dobson Printing" "Dobson Printing"

set mediaset

Description: Sets the media set for the Service Provider. Usage:

set mediaset <set> 

Example:

set mediaset "G722-G711-G729"

set mediapolicy

Description: Sets the media policy for the Service Provider. Usage:

set mediapolicy <policy> 

Example:

set mediapolicy "No Restrictions"

get

Description: Retrieves the list of objects that can be accessed from this location. Usage:

get  

report voiceportalnotchanged

Description: Generates a report Voice Portal Passcodes and whether they have been modified from the originally provisioned value. Usage:

report voiceportalnotchanged  [OPTIONS]

OPTIONS:
         -w,--writeOutput=<FILENAME>   Write Output to a file

Example:

report voiceportalnotchanged --writeOutput=/tmp/report.txt

report serviceassignments

Description: Generates a report of Service Assignment. Usage:

report serviceassignments  [OPTIONS]

OPTIONS:
         -f,--foldServicePacks         Fold Service Packs by Service Provider
         -w,--writeOutput=<FILENAME>   Write Output to a file

report registrations

Description: Retrieves a report of all registrations. Usage:

report registrations  

Example:

report registrations

report userdetails

Description: Generates a report of User details. Usage:

report userdetails  [OPTIONS]

OPTIONS:
         -w,--writeOutput=<FILENAME>   Write Output to a file

report callforwardingalways

Description: Generates a report of the Call Forwarding Always details for the Service Provider. Usage:

report callforwardingalways  

reset authentication

Description: Resets and randomizes a User's authentication information for all Users in the Service Provider Usage:

reset authentication  [OPTIONS]

OPTIONS:
         -f,--force          Force Reset
         -r,--reset          Reset Devices following randomization
         -u,--includeUser    Include UserID in randomization process
         -w,--resetWatcher   Watch for devices to re-register following reset

Example:

reset authentication --includeUser=true --reset=false

authorize service

Description: Authorizes a Service for the Service Provider. Usage:

authorize service <service> 

Example:

authorize service "Group Paging"

delete

Description: Performs a delete operation on the Service Provider. Usage:

delete  [OPTIONS]

OPTIONS:
         -f,--force   Force Delete

Example:

delete 

export

Description: Exports a Service Provider or Enterprise to JSON format. Usage:

export  [OPTIONS]

OPTIONS:
         -w,--writeOutput=<FILENAME>   Write Output to a file

migrate

Description: Migrates a Service Provider or Enterprise to another BroadWorks cluster. Usage:

migrate <destination> [OPTIONS]

OPTIONS:
         -c,--changeId=<NEW_ID>         Change the id of the Service Provider during migration.
         -m,--migrateDomain=<boolean>   Migrate default domain to the destination default. Defaults to false.

Group

add callpickupgroup

Description: Add a Call Pickup Group to the Group. Usage:

add callpickupgroup <name> 

Example:

add callpickupgroup Pickup-001

add callcenter

Description: Add a Call Center to the Group. Usage:

add callcenter <callcenterid> <callcentername> <lastname> <firstname> <password> <language> <timezone> <type> <policy> <enablevideo> <queuelength> <allowescape> <escapedigit> <resetstatsenteringqueue> <allowagentlogoff> <allowcallwaitingforagents> <extpreferredcodec> <intpreferredcodec> <playringingwhileoffering> 

Example:

add callcenter cc_20001@serviceprovider.com "Support Call Center" "Call Center" "Support" MyPassword$1 English America/New_York Premium Circular TRUE 10 TRUE 1 TRUE FALSE FALSE None None TRUE

add huntgroup

Description: Add a Hunt Group to the Group. Usage:

add huntgroup <huntgroupid> <huntgroupname> <lastname> <firstname> <language> <timezone> <policy> <huntafternoanswer> <noanswernumberofrings> <forwardaftertime> <forwardtimeoutseconds> <forwardtophonenumber> <allowcallwaitingforagents> <agentlist> 

Example:

add huntgroup hg_20001@serviceprovider.com "Admins HuntGroup" HuntGroup Admins English America/New_York Circular TRUE 2 TRUE 6 2295551002 FALSE "2295551001@sip.serviceprovider.com,2295551003@sip.serviceprovider.com"

add user

Description: Add a User to the Group. Usage:

add user <userid> <lastname> <firstname> <callingidlastname> <callingidfirstname> <callingidphonenumber> <password> <language> <timezone> 

Example:

add user 2295551002@serviceprovider.com Smith John Smith John 2295551002 MyPassword$1 English America/New_York

add groupaccessdevice

Description: Add an Access Device to the Group. Usage:

add groupaccessdevice <name> <type> 

Example:

add groupaccessdevice "PolycomVVX600-0004F200001" "Polycom VVX 600"

delete

Description: Performs delete operations on the Group. Usage:

delete  [OPTIONS]

OPTIONS:
         -f,--force   Force Delete

Example:

delete --force

deactivate number

Description: Deactivate a number or number range for the Group. Usage:

deactivate number  [OPTIONS]

OPTIONS:
         -n,--number=<DN>     A specific number to deactivate on the group.
         -r,--range=<RANGE>   A number range to deactivate on the group. Specified as [low-high].

Example:

deactivate number +12295551002

unassign number

Description: Unassign a number from the Group. Usage:

unassign number <number> 

Example:

unassign number 2295551003

modify voiceportal

Description: Modifies the Voice Portal settings for the Group. Usage:

modify voiceportal <phonenumber> <extension> [OPTIONS]

OPTIONS:
         -a,--isactive=<BOOLEAN>              Sets if the Voice Portal is active. Takes boolean argument.
         -i,--allowidentification=<BOOLEAN>   Allow identification by DN or Alias. Takes boolean argument.

Example:

modify voiceportal 2295551002 51002 --isactive=true --allowidentification=false

modify extensionlength

Description: Modifies the extension length settings for the Group. Usage:

modify extensionlength <minlength> <maxlength> <defaultlength> 

Example:

modify extensionlength 3 5 5

modify blfuri

Description: Sets the Busy Lamp Field URI's for all Users in the Group. Supports BroadWorks Tags. Usage:

modify blfuri <uri> 

Example:

modify blfuri "%BWLOGIN-ID-PRIMARY%_blf@sip.serviceprovider.com"

modify callinglineid

Description: Modifies the Calling Line ID for the Group. Usage:

modify callinglineid <number> 

Example:

modify callinglineid 2295551002

get dns

Description: Get DN's Assigned or Available For Assignment for a Group. Usage:

get dns  [OPTIONS]

OPTIONS:
         -a,--AVAILABLE   Retrieve DN's available for assignment
         -d,--ASSIGNED    Retrieve DN's that are assigned

Example:

get dns --ASSIGNED

activate number

Description: Activate a number or number range for the Group. Usage:

activate number  [OPTIONS]

OPTIONS:
         -n,--number=<DN>     A specific number to activate on the group.
         -r,--range=<RANGE>   A number range to activate on the group. Specified as [low-high].

Example:

activate number --range=2295551002-2295551005

report voiceportalnotchanged

Description: Generates a report Voice Portal Passcodes and whether they have been modified from the originally provisioned value. Usage:

report voiceportalnotchanged  [OPTIONS]

OPTIONS:
         -w,--writeOutput=<FILENAME>   Write Output to a file

Example:

report voiceportalnotchanged --writeOutput=/tmp/report.txt

report serviceassignments

Description: Generates a report of Service Assignment. Usage:

report serviceassignments  [OPTIONS]

OPTIONS:
         -f,--foldServicePacks         Fold Service Packs by Service Provider
         -w,--writeOutput=<FILENAME>   Write Output to a file

report registrations

Description: Retrieves a report of all registrations. Usage:

report registrations  

Example:

report registrations

report userdetails

Description: Generates a report of User details. Usage:

report userdetails  [OPTIONS]

OPTIONS:
         -w,--writeOutput=<FILENAME>   Write Output to a file

report migrationencumbrances

Description: Retrieves a report of migration encumbrances for all Users in the Group. Usage:

report migrationencumbrances  [OPTIONS]

OPTIONS:
         -d,--destination=<GROUPID>   The destination GroupID to include requirements in the report

Example:

report migrationencumbrances --destination="Acme Plumbing"

reset devices

Description: Resets User's Access Devices for all Users in the Group with optional monitoring. Usage:

reset devices  [OPTIONS]

OPTIONS:
         -f,--force                           Force Reset
         -u,--user-agent-matches=<criteria>   Reset if the user agent matches the provided criteria. The criteria uses semantic version matching
                                              grammar. e.g. ">=1.0.0 & <2.0.0"
         -w,--resetwatcher                    Reset using the ResetWatcher to monitor re-registration

Example:

reset devices --resetwatcher

reset authentication

Description: Resets and randomizes authentication information for all User's in the Group. Usage:

reset authentication  [OPTIONS]

OPTIONS:
         -f,--force          Force Delete
         -r,--reset          Reset Devices following randomization
         -u,--includeUser    Include UserID in randomization process
         -w,--resetWatcher   Watch for devices to re-register following reset

Example:

reset authentication --reset --force

authorize groupservice

Description: Authorize a Group Service for the Group. Usage:

authorize groupservice <service> [OPTIONS]

OPTIONS:
         -l,--limit=<INTEGER>   Set a limit on the authorized quantity.

Example:

authorize groupservice "Hunt Group"

authorize userservice

Description: Authorize a User Service for the Group. Usage:

authorize userservice <service> [OPTIONS]

OPTIONS:
         -l,--limit=<INTEGER>   Set a limit on the authorized quantity.

Example:

authorize userservice "BroadTouch Business Communicator Desktop"

authorize groupservicepack

Description: Authorize a Group Service for the Group. Usage:

authorize groupservicepack <servicepack> [OPTIONS]

OPTIONS:
         -l,--limit=<INTEGER>   Set a limit on the authorized quantity.

Example:

authorize groupservicepack "Premium"

export

Description: Exports a Group to JSON format. Usage:

export  [OPTIONS]

OPTIONS:
         -w,--writeOutput=<FILENAME>   Write Output to a file

assign groupservice

Description: Assign a Group Service to the Group. Usage:

assign groupservice <service> 

Example:

assign groupservice "Hunt Group" --limit=5

assign number

Description: Assign a number or number range for the Group. Usage:

assign number  [OPTIONS]

OPTIONS:
         -n,--number=<DN>     A specific number to assign on the group.
         -r,--range=<RANGE>   A number range to assign on the group. Specified as [low-high].

Example:

assign number --range=2295551002-2295551005

migrate enterprise

Description: Migrates a Group into a new destination Enterprise with the Group contained within. Usage:

migrate enterprise <enterpriseId> 

User

add voicemessagingalias

Description: Adds an additional User Voice Messaging alias. Usage:

add voicemessagingalias <alias> 

Example:

add voicemessagingalias 2295551001

modify password

Description: Sets the User's password to either a specified value or create a randomized password. Usage:

modify password  [OPTIONS]

OPTIONS:
         -e,--email                 Sends an email notification of the change.
         -p,--password=<PASSWORD>   Modify the password with a given value
         -r,--randomize             Modify the password with a randomized value

Example:

modify password --randomize --email
modify password --password MyPassword$1

modify callforwardingnoanswer

Description: Sets the User's Call Forwarding No Answer settings. Usage:

modify callforwardingnoanswer  [OPTIONS]

OPTIONS:
         -a,--isactive=<BOOLEAN>          Set is active. Takes boolean argument.
         -f,--forwardtophonenumber=<DN>   Set forward to phone number.
         -n,--numberofrings=<COUNT>       Set number of rings for no answer.

Example:

modify callforwardingnoanswer --isactive=true --forwardtophonenumber=2295551002 --numberofrings=3

modify outgoingsmdimwi

Description: Sets the User's Outoing SMDIMWI settings. Usage:

modify outgoingsmdimwi  [OPTIONS]

OPTIONS:
         -a,--isactive=<BOOLEAN>   Set is active. Takes boolean argument.
         -n,--mwinumber=<DN>       Set message waiting indicator number.

Example:

modify outgoingsmdimwi --isactive=true --mwinumber=2295551002

modify lastnameuppercase

Description: Sets the User's last name to uppercase. Usage:

modify lastnameuppercase  

modify voiceportalautologin

Description: Sets Voice Portal Auto Login setting Usage:

modify voiceportalautologin <isActive> 

Example:

modify voiceportalautologin true

modify advancedvoicemessaging

Description: Sets the User's Advanced Voice Messaging settings. Usage:

modify advancedvoicemessaging <groupemailaddress> <groupuserid> <grouppassword> 

Example:

modify advancedvoicemessaging 2295551002@serviceprovider.com 2295551002 MyPassword$1

modify blfuri

Description: Sets the User's Busy Lamp Field URI. Supports BroadWorks Tags. Usage:

modify blfuri <uri> 

Example:

modify blfuri 2295551002_blf@serviceprovider.com

modify callforwardingbusy

Description: Sets the User's Call Forwarding Busy settings. Usage:

modify callforwardingbusy  [OPTIONS]

OPTIONS:
         -a,--isactive=<BOOLEAN>          Set is active. Takes boolean argument.
         -f,--forwardtophonenumber=<DN>   Set forward to phone number.

Example:

modify callforwardingbusy --isactive=true --forwardtophonenumber=2295551002

modify passcode

Description: Sets the User's passcode to either a specified value or created a randomized passcode. Usage:

modify passcode  [OPTIONS]

OPTIONS:
         -e,--email                 Sends an email notification of the change.
         -p,--passcode=<PASSCODE>   Modify the passcode with a given value
         -r,--randomize             Modify the passcode with a randomized value.

Example:

modify passcode --randomize --email
modify passcode --passcode 12349876

modify voicemessaging

Description: Sets the User's Voice Messaging settings. Usage:

modify voicemessaging  [OPTIONS]

OPTIONS:
         -a,--isactive=<BOOLEAN>                    Set is active. Takes boolean argument.
         -v,--alwaysredirecttovoicemail=<BOOLEAN>   Set always redirect to voicemail. Takes boolean argument.

Example:

modify voicemessaging --isactive=true --alwaysredirecttovoicemail=false

get

Description: Displays User Information. Usage:

get  

reset devices

Description: Resets a User's Access Devices with optional monitoring. Usage:

reset devices  [OPTIONS]

OPTIONS:
         -f,--force          Force Reset
         -w,--resetwatcher   Reset using the ResetWatcher to monitor re-registration

Example:

reset devices --resetwatcher=true

reset authentication

Description: Resets and randomizes a User's authentication information. Usage:

reset authentication  [OPTIONS]

OPTIONS:
         -f,--force          Force Reset
         -r,--reset          Reset Devices following randomization
         -u,--includeUser    Include UserID in randomization process
         -w,--resetWatcher   Watch for devices to re-register following reset

Example:

reset authentication --includeUser=true --reset=false

delete

Description: Performs delete operations on the User. Usage:

delete  [OPTIONS]

OPTIONS:
         -f,--force   Force Delete

Example:

delete -f

export

Description: Exports a User to JSON format. Usage:

export  [OPTIONS]

OPTIONS:
         -w,--writeOutput=<FILENAME>   Write Output to a file

Example:

export -w user_export.json

assign number

Description: Assigns a Telephone Number to the User. Usage:

assign number <number> 

Example:

assign number 2295551001

assign callpickupgroup

Description: Assigns a Call Pickup Group to the User. Usage:

assign callpickupgroup <callpickupgroupid> 

Example:

assign callpickupgroup Pickup-Admin

assign extension

Description: Assigns an extension to the User. Usage:

assign extension <extension> 

Example:

assign extension 10001

assign servicepack

Description: Assigns a User Service Pack to the User. Usage:

assign servicepack <servicepack> 

Example:

assign servicepack "Premium"

assign service

Description: Assigns a User Service to the User. Usage:

assign service <service> 

Example:

assign service "Basic Call Logs"

assign device

Description: Assigns an AccessDevice to the User. Usage:

assign device <devicelevel> <name> <lineport> 

Example:

assign device Group PolycomVVX500-0004f2000000 2295551002@sip.serviceprovider.com

migrate

Description: Migrates an User to another Group. Usage:

migrate <destination> 

HuntGroup

modify phonenumber

Description: Modify the Hunt Group phone number. Usage:

modify phonenumber <number> <extension> 

Example:

modify phonenumber 2295551002 51002

modify forwarding

Description: Modify the Hunt Group forwarding settings. Usage:

modify forwarding  [OPTIONS]

OPTIONS:
         -f,--forwardAfterTimeout=<BOOLEAN>     Set forward after timeout. Takes boolean argument.
         -p,--forwardToNumber=<DN>              Set forward to phone number.
         -t,--forwardTimeoutSeconds=<INTEGER>   Set forward timeout seconds. Takes integer argument.

Example:

modify forwarding --forwardAfterTimeout=true --forwardTimeoutSeconds=10 --forwardToNumber=2295551005

modify huntafternoanswer

Description: Modify the Hunt Group hunt after no answer settings. Usage:

modify huntafternoanswer  [OPTIONS]

OPTIONS:
         -h,--hunt=<BOOLEAN>   Set hunt after no answer. Takes boolean argument.

Example:

modify huntafternoanswer --hunt=true

GroupAccessDevice

modify name

Description: Modify the Group Access Device name. Usage:

modify name <deviceName> [OPTIONS]

OPTIONS:
         -f,--force   Force Migration

Example:

modify name "Polycom VVX 600 - 0004F2000001"

modify macaddress

Description: Modify the Group Access Device MAC Address. Usage:

modify macaddress <macaddress> 

Example:

modify macaddress 0004F2000001

modify type

Description: Modify the Group Access Device type. Usage:

modify type <deviceType> [OPTIONS]

OPTIONS:
         -f,--force   Force Migration

Example:

modify type "Polycom VVX 600"

modify configmode

Description: Modify the Group Access Device Config Mode. Usage:

modify configmode <configmode> 

Example:

modify configmode Manual

uploadFile

Description: Upload a Custom Config file to the Device. Usage:

uploadFile <filepath> 

Example:

uploadFile /tmp/alpacastore/%BWMACADDRESS%.cfg

reset

Description: Performs reset operations on the Group Access Device. Usage:

reset  [OPTIONS]

OPTIONS:
         -f,--force                           Force Reset
         -u,--user-agent-matches=<criteria>   Reset if the user agent matches the provided criteria. The criteria uses semantic version matching
                                              grammar. e.g. ">=1.0.0 & <2.0.0"

Example:

reset -f --user-agent-matches ">4.0.0"

delete

Description: Performs delete operations on the Access Device. Usage:

delete  [OPTIONS]

OPTIONS:
         -f,--force   Force Delete

Example:

delete -f