Search the Community
Showing results for tags 'account management'.
The search index is currently processing. Current results may not be complete.
Found 2 results
Monster App Choices SmartPBX vs Advanced Callflows vs APIs User Story A new user wants to understand what application to use for getting started with and managing and maintaining their account. They are confused about whether to use SmartPBX, Advanced Callflows or system APIs. A new user is looking to understand how these applications interact with each other. Overview It’s important to understand both SmartPBX and Callflows access the same back end database and use the same APIs to transfer data. Edits from one app will reflect in the others the next time you load it. Some apps however, do not provide access to certain settings, either because it is considered more complex and requires admin level understanding, or the setting was added as a new feature not yet updated in an older app. This document will share recommendations on when to use each configuration method. In addition it will review some 2600Hz history to give context to the applications and how they evolved. In short Your administrator will likely use Account Manager for your initial account setup. Once your account is accessible, Smart PBX is often set as the default application you see when logging in. Use SmartPBX for account maintenance and management whenever possible. It is the most current and most user friendly app for your initial setup. Use Callflows if you are an administrator and want to set up some more advanced, complex features for your client. Use KAZOO’s powerful API library if neither provide a feature you require, if your process is a back-end calculation or for automation needs that do not need user input. Note: API use requires a developer who is comfortable using JSON APIs in their preferred programming language, is familiar with Kazoo configurations and reading Kazoo docs. A summary chart of what functionality can be managed in each app is available at the end of this document. Set up your Initial Account with Account Manager This will be accomplished with your Account administrator. Once your initial account has been set up, you will want to personalize it according to your office requirements. Get Started with your personalizations with SmartPBX Once your account has been set up by an administrator it’s best for as much configuration to be exposed in SmartPBX as possible for End Users to see. Spend some time stepping through the application and working with the features available for you. We have a series of User Guides available also, HERE NOTE: Make sure you associate a “Main Extension” to your user name in SmartPBX. This is required for the comm.io app, and is not available to add in Callflows. (This is an example of the newer app supporting newer features). If you have set up your user in Callflows already and want to use the comm.io softphone, refer to the comm.io installation and setup document, HERE. Advanced Functions using Callflows If it’s not possible to complete your objectives using SmartPBX, use Advanced Callflows. Some common advanced functions callflows excels at include: Creating sub-menus for incoming calls (e.g. Spanish speaking and English speaking). We have a document HERE that outlines this setup. Creating secondary, tertiary, etc. callflows. For example for multiple locations/companies in a single account. Creating custom feature codes Using APIs to develop further customizations Both SmartPBX and Advanced Callflows ultimately use the same APIs, they are just viewed in different ways. If there’s some function in the Kazoo GUI that you need to do very often, often enough that it’s not efficient to use the GUI, this is an occasion where you use APIs. Some common uses for accessing the API directly include: Processes not supported by SmartPBX or Callflows Integrations with other programs that also use APIs. Examples include billing programs, integration with Salesforce or web pages, etc. Repetitive processes that can run in the background and do not need user input (for example, some billing functions). To start learning the API syntax, watch the network tab and see what APIs are being called while you complete your task in the GUI. Then check the documentation to be sure you fully understand what the API call is actually doing. And write your code to replicate it. All the documentation for our APIs is available HERE. Anything that can be done in our GUI can be done via API as well. Simply open your browser’s development tools feature, watch the network tab and see what APIs are being called while you complete your task in the GUI. Reconcile this with the API the documentation to be sure you fully understand what the API call is actually doing. And write your code to replicate it. Notes: Not all APIs are considered stable and available for end user use. Please be sure your API is supported before using them. Please take special care and do extensive testing if you want your application to work with SmartPBX. When developing using the API always develop against a sandbox environment. Never code against a production cluster. An example configuration using multiple KAZOO applications Below are some example configurations where more than one application is accessed. These include helpful tips on the most efficient ways to achieve this. Build a sub-menu into your main number incoming call routing If you want to build a sub-menu into your main number config (for example to support multiple languages or departments), this is not possible to do in SmartPBX. Here’s a trick we use to streamline this process: First, in SmartPBX. build all your ring groups for the sub-menu Second, in Callflows, build the callflow for the sub-menu. Instead of building the menu options all from scratch, use the SmartPBX ring groups you just made. Third, while still in Callflows, name the callflow and enable the “List this callflow in Main Number” check box. This will allow you to use the advanced callflow as an option back in SmartPBX’s main number section. With this example, your end users will be able to change the members and order of the sub-menu’s options via the SmartPBX groups section. This keeps the complexity of Advanced Callflows abstracted away from user, and allows them to manage the details of the process using a familiar interface, SmartPBX. Sample of application best uses Account Mgr SmartPBX Callflows APIs Initial Setup ✔ Add/Edit Users and Devices Global Setup User Edits Basic Settings: Office / Holiday Hrs Hold music Incoming call routing Default language interface Billing settings Global Setup User Edits Ring Groups Create Here Trunking Controls Admin Setup Admin Edits Sub menus for incoming calls Create Ring Group First Attach sub menus to Ring Group Background of KAZOO’s development and updates When the KAZOO project first started over 10 years ago, everything was done via json APIs -- there was no GUI (Graphic User Interface). The expectation was the KAZOO platform would serve as a robust engine for companies to use as their back-end and that those companies would build their own GUI to best fit their customer’s needs. KAZOO is extremely robust and with this comes complexity however, and many of our clients didn’t want to spend time diving into API docs before they even knew if a project would work for them. They wanted a quick and easy way to set up an account to test our wares. To support these developers 2600Hz made a very basic GUI for the APIs to enable a quick and easy setup for a testing environment. This original GUI didn’t expose all of the APIs or even all the features of the APIs but it gave developers a head start. Once they felt confident in the platform, developers used it to enable them to build custom GUIs. This served our clients who are sophisticated programmers in their own right well, and they created unique applications as we imagined, and still do. Their solutions are elegant overlays to the KAZOO engine. As we grew however, resellers started using the original tool to set up and maintain end user accounts; they requested we provide a more friendly way to enable their end users to personalize and change their account details without constant support. This was the driving force behind our Monster-UI framework and SmartPBX application. SmartPBX was built as a general use GUI for Kazoo, one that resellers could hand off to end users. In making the system more friendly to non-programmers however, we reduced the configuration offerings to a core that most accounts need. To continue to keep some more complex features accessible for advanced administrator use we ported in the old UI as the Callflows app. Some challenges remain with this multi-tiered approach. Because SmartPBX and Advanced Callflows share the same APIs, you could see callflows created by SmartPBX in the Callflows app, setting an expectation that users could also edit them. We needed a way to track where the input came from and how to edit it. To solve this, 2600Hz added metadata to the json API indicating what app that created the callflow. And elements made in SmartPBX were hidden from Advanced Callflows. This is the state the system exists in today. While most now use Monster UI and SmartPBX, some companies still use Kazoo strictly as a back-end system and use their own GUIs. Developers are still welcome to use the APIs to build their own GUIs. For those developers wanting to use the APIs, but also wanting to use Advanced Callflows, SmartPBX and other Monster UI apps. This is possible as well. When doing this, however, please take great care in your code to match the formatting that Monster UI apps use as closely as possible. Remember not every single feature of the APIs is available in SmartPBX or even in Advanced Callflows, and SmartPBX expects very particular formatting to work correctly. In all scenarios, thoroughly test your code against a sandbox environment before deploying to production systems.
Moving an account within KAZOO User Stories I mistakenly added and configured a sub account under the wrong parent account; my “North Carolina” office should be under “East” and not “West.” I want to move a sub account from one home account to another parent account – for example, move my XXX East account from US to Canada? Overview There are two ways to achieve this: Use the Cluster Manager app. In the KAZOO environment. Execute an SSH command at the server level. This is an option available to Global Infrastructure clients who are experienced system administrators. NOTE: This process can be unsafe; it should only be used if an account was created under the wrong account in error, and needs to be moved. USING CLUSTER MANAGER (OPTION 1) Obtain the account ID of the account you want to move from. This ID will referenced as MOVE_ACCOUNT from now on. This can be obtained from the UI via the Accounts Manager app. Open your Accounts app Navigate to the account you want to move to Select the account, and select Overview Copy the account ID String and save it on a notepad From Account: 2. Obtain the account ID of the account you want to move the MOVE_ACCOUNT TO This ID will be referenced as DESTINATION_ACCOUNT from now on. Repeat the steps above and copy to a place that clearly labels this Account ID is the TO: Account ID number. 3. Browse to https://ui.zswitch.net and login using your credentials and the name of your account on our hosted platform (XYZ Parent Account) Open the Apps menu, and select the Cluster Manager app Click the Scripts tab from within the Cluster Manager app Click the Red Button labeled Run Command 4. Type the command below into the command dialog box sup crossbar_maintenance move_account MOVE_ACCOUNT DESTINATION_ACCOUNT NOTE: While this process should take less than 5 seconds, you may want to increase the “Abort After” value to about 5 minutes. This should give ample time for the process to resolve before timing out and requiring a restart. 6. Click the Select Servers button 7. From the Cluster drop down, select the name of the cluster where the accounts live that you would like to move (pre, or prod). You do not need to select anything for Zone, or Services 8. Uncheck servers in the Filter Results section, so that you ONLY HAVE ONE server checked NOTE: You MUST select the server that contains your KAZOO applications; a Freeswitch or Database only server will cause this process to fail. To ensure this, you can follow these steps: Filter your server list using kazoo_applications type of servers first. "Select All" to unselect everything. Reselect the first server on the. list. 9. Click NEXT 10. Click Run Tasks Now! to execute the command you typed into the dialog box, on the server that remained checked on the previous page. 11. Watch the "Running/Queued" section of the tasks tab to ensure the task completes. You may need to refresh the list periodically, but clicking the refresh button (2 spinning arrows) at the top of the list. You can also go to the "Completed Logs" section to see that your "Run Command" task completed successfully. 12. Once the task is complete, confirm the account is now moved by re-opening the Accounts Manager app in the UI of your cluster. ADVANCED USERS (OPTION 2) This is an option available to Global Infrastructure clients who are experienced system administrators. Via SSH: Obtain the account ID of the account you want to move, I'll reference this ID as MOVE_ACCOUNT from now on. This can be obtained from the UI via the Accounts Manager app. Obtain the account ID of the account you want to move the MOVE_ACCOUNT under, I will reference this ID as DESTINATION_ACCOUNT from now on. This can also be obtained from the UI via the Accounts Manager app. SSH to one of the servers in your cluster where the account you want to move is assigned, and where kazoo_apps is running. Run the command below: sup crossbar_maintenance move_account MOVE_ACCOUNT DESTINATION_ACCOUNT API Reference Doc: docs.2600hz.com https://docs.2600hz.com/dev/applications/crossbar/doc/accounts/#move-an-account