Jump to content

mc_

Administrators
  • Posts

    1,796
  • Joined

  • Days Won

    4

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. I'm trying to get an "official" doc on this but my understanding is 2600Hz and Signalwire have agreements to let 2600Hz distribute the newer versions of FreeSWITCH with KAZOO but that Signalwire releases the source on a delayed basis. Something to that effect, anyway. So yes, packages from us will reflect more recent work in FreeSWITCH than is available via their github.

    When I have an "official" doc, I'll get it posted here for everyone.

  3. 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.

  4. 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.

  5. 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.

  6. Something is amiss, then, as the channel bindings are put on the 'webhooks_shared_listener' which uses a named queue, shared by all instances of the webhooks app.

    The bindings are not federated so other zones should not be receiving copies either.

    So my guess at this point is you have two webhooks configured and enabled for the same HTTP server, causing the duplication.

  7. "direction" will be relative to FreeSWITCH so "inbound" means a user agent started the SIP dialog (aka FreeSWITCH received the initial INVITE) while "outbound" means FreeSWITCH is initiating the comms (aka FreeSWITCH sending the initial INVITE).

    I believe the CDRs API will return user-specific CDRs using /v2/accounts/{ACCOUNT_ID}/users/{USER_ID}/cdrs: https://docs.2600hz.com/dev/applications/crossbar/doc/cdrs/#variations

    Call recording has its own API: https://docs.2600hz.com/dev/applications/crossbar/doc/recordings/

    Voicemails are under the vmboxes/{BOX_ID}/messages: https://docs.2600hz.com/dev/applications/crossbar/doc/voicemail/

    No grand unified APIs; each API is focused on the collection or entity described, generally speaking.

  8. "direction" tells you, relative the FreeSWITCH, how the call started. So "inbound" says the call started from the UA - the UA sent an INVITE "inbound" to FreeSWITCH. "outbound" would be FreeSWITCH sending the INVITE to the UA (device, carrier, whatever).

     

    Not sure on your recordings question other than look for the recording and storage related logs ("kz_att_s3" would be a good key in the log lines, for instance).

  9. @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.

    https://github.com/2600hz/kazoo/blob/master/core/kazoo_amqp/src/api/kapi_route.erl

    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.

    https://github.com/2600hz/kazoo/blob/master/applications/crossbar/priv/couchdb/schemas/kapi.route.req.json

    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.

×
×
  • Create New...