ref: da80d0c78906bb02690aab89d57a5dd304fcf2e7 sgx-jmp/config-schema.dhall -rw-r--r-- 1.7 KiB
Optional alternate transcription with rev.ai

The bitfield bit 1 was used by a different project (sgx-catapult, see:
This other project no longer uses the bit, and in fact that whole project is
dead and gone, but if you previously ran that project against the same redis
that you now run this project against then please make sure you have zeroed-out
that bit first.

You can verify using this script:

    redis = Redis.new
    redis.keys("catapult_settings_flags-*").each do |k|
      p redis.getbit(k, 1)
Merge branch 'snikket'

* snikket:
  Initial bare-bones admin command for launching a snikket instance
Initial bare-bones admin command for launching a snikket instance
Move between accounts requires a sip peer id
Merge branch 'cancel-account'

* cancel-account:
  Admin command to cancel customer
  Move Customer factory/extractor to Customer
Admin command to cancel customer

Notify customer
Deregister from SGX
Deregister from Cheogram
Disconnect from Bandwidth
	If on special list, move intead of disconnect
Merge branch 'message-limits'

* message-limits:
  Block outgoing messages when expired
  Contacting support is not billable
  Use TrustLevel to determine daily quota
  Refactor message limits, change to 500/day
Contacting support is not billable
Merge branch 'activate-with-balance'

* activate-with-balance:
  If customer already has enough balance, just bill them and finish
  New BillPay registration step
  Save plan to DB as soon as it is selected
  Move credit_to lookup into relevant class
If customer already has enough balance, just bill them and finish
Merge branch 'no-more-catapult'

* no-more-catapult:
  Remove catapult import code
Remove catapult import code
Merge branch 'whitelist'

* whitelist:
  Allow whitelisting domains
  Use FormTemplate for activation form
Allow whitelisting domains

Some domains credit new users to the admin, some to no one.  We still have to
show a form to get them to pick a plan, but otherwise skip most of the process,
activate them with 1 month and go to Finish.
Merge branch 'reset-sip-v2'

* reset-sip-v2:
  After SIP reset, offer to change inbound fwd
  Reset sip account using v2 API
Reset sip account using v2 API

SipAccount now uses only v2 APIs for lookup, create, update, and delete
Record Voicemail Greeting command
Merge branch 'sip-outbound'

* sip-outbound:
  Support transcription disablement option
  Port in inbound calls + voicemail
  Allow fetching fwd timeout as well
  Get OGM for a customer
  Helper to fetch customer's vcard-temp
  Make Disposition more real
  Allow constructing CDR for an inbound or outbound event
  Outbound calls from v2 SIP endpoint work and save a CDR
Port in inbound calls + voicemail

The craziest part of this is the workaround for a serious bug in Bandwidth's
HTTP voice API (which they may yet fix, still negotiating with them about that).

When a call comes in, every 10 seconds that it is not "answered" the inbound
call gets cancelled by their upstream peer and then get retried.  The caller
sees only one oubound call for this, so it doesn't look odd to them, but to us
it looks like they keep hanging up and trying again every 10 seconds.  So what
we do for now is we wait 2 seconds after they disconnect before we decide
they're really gone.  If they call back in those 2 seconds we just connect the
eventual bridge or voicemail to this new call and everything works out.

Customer Info

This should allow us, the admins, to query information about a customer
without having to dive in and run a couple redis queries and some
database queries before getting the full picture of who we're talking

It also allows the users to request some data about themselves. Balance and
phone number are already visible in other places, but their expiry is currently
not, and people have been asking about it.