Jump to content


2600Hz Employees
  • Posts

  • Joined

  • Last visited

  • Days Won


Posts posted by mc_

  1. @huwsc90 Hi!

    One guess is that the auth-by-ip information has left the cache and has to be pulled from your database. This process is delayed long enough that the reorder app's response of Nope Nope Nope is received first. Subsequent calls then work as expected as the cache is primed.

    Compare logs of the first call that fails against the subsequent call that succeeds to see where the slowdown might be (thinking stepswitch_inbound and related processing to resolve IP to account).

  2. In KAZOO, a "dialplan" allows configuring ways to adjust the dialed number. For instance, in the US of A, you could dial a local number without the area code; with dialplans, KAZOO can adjust that 7-digit dialed number to the full 10-digit (or full E164) version before Callflows processes it. But dialplans are not a "typical" feature folks tend to use.

  3. 404 on your link so just in case: https://docs.2600hz.com/dev/doc/internationalization/numbers/

    I think your sentence-ending period got linked as well, throwing off the URL.

    If you have used FreeSWITCH before, KAZOO doesn't use the dialplan XML - every call is handled in real-time by KAZOO. The primary call processing app is named 'Callflows'.

    From an API perspective: https://docs.2600hz.com/sysadmin/doc/install/configure_kazoo/

    You should get a device, number, callflow, and resource setup and make calls using that.

    If there are specific parts of the docs that don't work for you, you can use the Edit (pencil icon) which should bring you to the github repo that backs these doc sites if you have suggestions. If a command fails, please include the command tried and the output; we can help see if the docs are wrong or your invocation.

  4. Resources do not register to upstream carriers, as this would break the resiliency of the platform for that carrier. Most carriers allow you to specify a list of IP addresses to deliver calls to (should be your Kamailio IPs). If the carrier you are using requires registration, there are some old old instructions floating around to setup a FreeSWITCH config to force the registration to proxy through one of your Kamailio servers. Or you can setup a vanilla Kamailio to register to the carrier and setup your vanilla Kamailio as a "resource" in KAZOO.

    You'll find the "resources" API here: https://docs.2600hz.com/dev/applications/crossbar/doc/resources/

    Suggestion that you don't manipulate the CouchDB databases directly; the API server code (Crossbar) does a lot of things in addition to accepting API requests and putting them into the database. The handful of things that do require db access are typically one-offs, set it and forget it type things.

    And welcome! We're always open to improved docs if you have suggestions and PRs! Let me know when you want to start learning Erlang too ;)

    Oh, and if an API doesn't seem to work, make sure it is running on the API servers: `sup crossbar_maintenance start_module cb_resource_selectors` for instance. Just prepend "cb_" to the API endpoint's name for the Erlang module to initialize. This should add it to the list of modules to start as well.

  5. @huwsc90 Its mostly in the form of JSON schemas for the payload formats. Most of the info will be in the source (which hopefully is readable for what you're wanting, even not knowing Erlang).

    For instance, a route request to setup a call involves the 'req' payload published to all bound queues, each of which will respond with a 'resp' payload if able. One 'resp' payload will "win" and receive a 'win' payload back on a direct queue.


    In there you'll see the 'req_definition' which will list the JSON keys (named headers) of the payload, the routing (and binding) keys used for publishing/binding, etc.


    In this directory, you'll see auto-generated schemas. "kapi.route" maps to "kapi_route.erl" for instance, and the 'req' payload.

    Should at least get you started, get a queue bound to AMQP for messages, and you can start inspecting things.

  6. If you built this from source, make sure all the deps/ built properly (should be listed in make/deps.mk). You can stop the release, do `make sparkly-clean compile build-dev-release` to clean everything out, fetch all deps, recompile everything, and build a development release. Then `make release` will start the dev release.

    Other things to check are that you're compiling with the correct version of Erlang (see make/erlang_version).

  7. If this is a new system, yes, KAZOO should initialize relevant databases and configure the default list of apps to start automatically.

    You'll want to bump log level (typically syslog) in /etc/kazoo/core/config.ini to debug, then restart the VM and see what happens, why the default apps weren't started. Could be a temporary issue too (though I routinely reset my database cluster for dev and don't have issues with the default apps starting).


  8. Hi Alex,

    First, I would recommend https://docs.2600hz.com/sysadmin/doc/install/install_via_centos7/

    I'm not sure if the powerpbx guide is still updated or not, but our guide covers similar ground and is updated as folks encounter issues. It is backed by a public Github repo as well for all to contribute.

    As for your issue, KAZOO (and most SIP setups) use the domain portion to figure out what account to associate with the caller. In your case, it is unlikely you created an account with a SIP realm of Kamailio's IP address. You will need to configure zoiper to use the SIP realm of the account and, if the domain doesn't resolve to Kamailio's IP address, you will need to configure zoiper to use an outbound proxy (or zoiper's equivalent) to point to Kamailio's IP.

    You can read https://docs.2600hz.com/user_guides/doc/manual_phone_config/zoiper/

    Might help; adjust realm and outbound proxy to your setup

  • Create New...