There are only a few things you should understand before you start trying to manage a Kazoo Hosted PBX system.
Users and Devices
In Kazoo, we consider a device anything that someone might be given to make phone calls, send SMS messages, send Faxes, etc. A device is a physical device. Unlike other systems, devices are not inherently tied to a user. You must do this yourself.
In Kazoo, we consider a user the concept of a person. Users ultimately have, or "own", devices and voicemail boxes. A user can have multiple voicemail boxes and devices. Sending a phone call to a user rings all of the user's devices. And we deal with extensions in a total different way then u may be used to. Extensions don´t really exist, and yet everything can be an extension. Extension numbers can be created in the callflow app just as u would use a DID/Phone-number, thus creating a very flexible way to implement extension numbers to connect to your devices, other callflows, users and ....
To keep it simple: If u require extensions for your devices or users, u can create those in the callflow app, or via the API.
Consider this diagram which displays the most common use case:
In the above scenario, the doorbell device is standalone. It has no user, which means no voicemail and no other features tied to it. This is fine - it can still make and receive calls, but no relationships exist.
In the above scenario, Mary and Josh have multiple phones. You can ring Mary or Josh via a call-flow phone number, and if their devices ever change their calls will still work. This is important to understand because it means Mary and Josh can manage their own devices without bugging the IT guy. As long as their calls are routed to them as a user, they can access the list of devices they have in their own user portal. So when Mary or Josh change their phone number or get a new phone, they can start using that device without contacting their PBX administrator.
Callflows are really just simple instructions for what to do when someone calls a phone number.
Callflows are quite literal, though, and this can confuse people. If you setup a call-flow to ring a user, it does that AND ONLY that. It will not also send the call to a user's voicemail - you need to instruct the system to ring the user and then go to their voicemail. This gives you more control but can be more cumbersome to manage.
You can create your own GUI or interface tools if you want to use our APIs and force a user to always have a phone number, a phone, a voicemail box and so-on in easier steps, but the current system allows for more flexibility.
Doing this is a lot easier then you'd expect. Check out our tutorials for some examples to get you started.
Carriers are telephone companies who connect your phone calls to the outside world. Normally, we route calls to any known numbers within the Kazoo platform (hosted or your own install) for free. Calls to the outside, however, are charged.
Because rates and quality vary greatly we allow individual accounts to use different carrier resources - either global ones programmed into the system by the platform administrator or ones you bring to the system yourself.
It's important to note that on the hosted Kazoo platform authenticating by IP address is not really possible as we use the same IPs for multiple clients. Therefore, for inbound calls, we look at the phone number we're receiving and figure out who the owner is off that. For outbound calls, we require username/password authentication by your provider or we require that you use a prefix in addition to your IP address when calling out (though this is insecure as other customers can hack your prefix).
Please note that if you choose to bring your own carriers, we will refuse to debug anything past our servers to your carriers without a fee on our hosted platform. We spend way too many hours debugging poor quality carriers unfortunately.
If you are using a super-cheap carrier, remember that you get what you pay for.