Jump to content

mc_

Administrators
  • Posts

    1,796
  • Joined

  • Days Won

    4

Posts posted by mc_

  1. 1. You could use Pivot and maintain the list of device->allowed_numbers in a db. Then you can create a UI where you/the facility can manage what numbers a device can dial.

    2. You could create a "dial_plan" object on the device that whitelists the allowed numbers and rewrites all others to a "can't dial this number" recording (like adding a prefix "BARRED" and having a callflow pattern for "BARRED{\\d+}")

    Those are two quick thoughts with no testing so buyer beware :)

  2. I will throw in doing similar things on the server side (never hurts to have redundancy!):

    1. Classifiers can be used to restrict/allow dialing numbers. In your example, a classifier for "\\+?1900\\d+" could be added to deny access to these numbers

    2. Dial plans can convert "local" dials to appropriate representations. You can prepend area codes, country codes, add access codes, whatever is needed.

    These will operate independent of the phone manufacturer which is nice in case a phone is misconfigured, tampered with, credentials stolen, etc. Good security is built in layers (just like ogres and cakes)!

     

  3. To add more, will your devices be doing HD audio? Video? Lots of transcoding between WebRTC (using OPUS) and PSTN (using PCMU)? Conferencing? If so, how many participants? Support for SIP over TCP/TLS/VPN/etc (basically non-UDP)? SRTP? Fax? Expected CPS and concurrent calls? Lots of presence/BLF/other features?

    As mentioned, you can create more zones to isolate load based on geography (typically). You can throw bigger hardware at the problem. You can buy bigger and bigger pipes. You can host and get cross-connects in the same data-centers with your upstream providers. But there's no magic formula for inputting X devices and getting Y infrastructure costs. There are best practices that get you pretty far but eventually something will crack and you'll need good monitoring to detect those cracks.

    So, yes, Kazoo can be (and is) deployed to support 250K+ devices. As you grow, different parts of the infrastructure will fall down and need improvement, and where those spots are tend to be unique values for each installation (esp since usage patterns tend to vary greatly).

    We can be your partner in that journey to 250K and anticipate a lot of the growing pains :)

  4. @Josh Robbins sorry! PR is a pull request - when a developer wants to change something in Kazoo, they issue a PR to be reviewed by the team then merged into the project. I'll issue a PR to change the schema, get a team member to review, and then the next upgrade of the platform will change the schema's restriction. So it will be delayed a bit from being realized on the hosted platform but will make its way there eventually.

    Does that clarify things?

  5. @Josh Robbins Ah, we can relax the schema to be 128 chars instead. I'll get a PR up today for that. If you're running your own system, you can edit the 'system_schemas / menus' document. Look under the "media" object for maxLength and change it to 128 (although, since technically you can put URLs there but of course RFC 2616 and 7230 say there's no defined limit - it is server-dependent - so...pick a value. It seems like 2048 is probably "big enough").

×
×
  • Create New...