Commit log

9daaf10 Refactor message limits, change to 500/day

Stephen Paul Weber created

4b5310c CallAttempt needs customer

Stephen Paul Weber created

15a0f77 JID Switch

Click to expand commit body
This allows a customer to change their JID, but it's a bit raw.
In practice I don't expect anyone to actually run this directly, instead
cheogram covers with with a friendlier and safer version.

This is just the business.

Christopher Vollick created

d4d9e6c Merge branch 'block-calls-when-expired'

Click to expand commit body
* block-calls-when-expired:
  Block voice calls when account is expired
  Refactor CallAttempt factory to use registration pattern

Stephen Paul Weber created

0db4192 Revert "Merge branch 'three_d_secure'"

Click to expand commit body
This reverts commit 36f441c031a5318385ec78d7d2e021a8e2fab186, reversing
changes made to 3b0ae3c9387d3be41b30bd6dd4552ff0a841d8ed.

Stephen Paul Weber created

36f441c Merge branch 'three_d_secure'

Click to expand commit body
* three_d_secure:
  Send 3DS id when making a transaction

Stephen Paul Weber created

b1c4110 Block voice calls when account is expired

Click to expand commit body
Allow for "transitional" (no plan) users for now, because we still have a bunch
of those.

Stephen Paul Weber created

982324b Refactor CallAttempt factory to use registration pattern

Stephen Paul Weber created

3b0ae3c Need repo too during bill plan command

Stephen Paul Weber created

45d76a6 Wrap the connection yielded from a transaction

Stephen Paul Weber created

d3a8cab Use trampoline instead of custom fiber

Stephen Paul Weber created

125227e Merge branch 'change-billing-lock'

Click to expand commit body
* change-billing-lock:
  ExpiringLock instead of require expired
  Atomic ExpiringLock

Stephen Paul Weber created

bb9f4f1 Send 3DS id when making a transaction

Stephen Paul Weber created

7a49aaf ExpiringLock instead of require expired

Click to expand commit body
We *want* to try billing a little before expiry, to prevent the account lapsing.
So use an ExpiringLock to prevent double-billing races.

Stephen Paul Weber created

adc801c Atomic ExpiringLock

Stephen Paul Weber created

c5447fe Merge branch 'only-bill-if-expired'

Click to expand commit body
* only-bill-if-expired:
  Only bill customer if they for sure have balance and are expired
  Allow an in-transaction condition for billing
  Change multiline chain style

Stephen Paul Weber created

0d1a200 Merge branch 'sip-concurrency'

Click to expand commit body
* sip-concurrency:
  Limit call concurrency for outbound SIP

Stephen Paul Weber created

b47b7d0 Merge branch 'fwd-cleanup'

Click to expand commit body
* fwd-cleanup:
  Try to classify URI before saving, even if timeout.zero?
  v1 is dead and everyone has been moved
  Allow finishing adming command

Stephen Paul Weber created

17d9b2f Only bill customer if they for sure have balance and are expired

Stephen Paul Weber created

6a7c0e9 Allow an in-transaction condition for billing

Stephen Paul Weber created

dc2c141 Change multiline chain style

Stephen Paul Weber created

85a7a4e Limit call concurrency for outbound SIP

Stephen Paul Weber created

acd8226 CustomerPlan.extract

Click to expand commit body
To allow building from a hash with extra keys. Makes the CustomerRepo more readable.

Stephen Paul Weber created

f571b5e Postgres#query_one

Click to expand commit body
Helper for queries that only return a single row.

Stephen Paul Weber created

da30c37 Allow finishing admin command

Stephen Paul Weber created

18258dd Try to classify URI before saving, even if timeout.zero?

Stephen Paul Weber created

016d8c4 v1 is dead and everyone has been moved

Stephen Paul Weber created

9827b8b Allow finishing adming command

Stephen Paul Weber created

c92ea39 Say what customer was affected

Stephen Paul Weber created

74b3ab7 NoCustomer is not registered

Stephen Paul Weber created

688e78b Merge branch 'max-call-length'

Click to expand commit body
* max-call-length:
  Calculate the maximum allowable call length

Stephen Paul Weber created

39e3b0f Merge branch 'credit-card-blacklist'

Click to expand commit body
* credit-card-blacklist:
  Credit card blacklist

Stephen Paul Weber created

72b4436 Credit card blacklist

Click to expand commit body
Any card on the list is just treated as though it is not present, preventing it
from being used.

Stephen Paul Weber created

e636c33 Calculate the maximum allowable call length

Click to expand commit body
Asterisk could use this to actually limit the call, for example.

Stephen Paul Weber created

c3bd04f Merge branch 'trustlevel-repo'

Click to expand commit body
* trustlevel-repo:
  TrustLevel{,Repo}

Stephen Paul Weber created

b16e8df TrustLevel{,Repo}

Click to expand commit body
To determine how much permission a customer account should have to take risky
actions.  Seperate from their plan, this is not how much they could do in
theory, but how much the system will allow in practise due to perceived risk.

Starts out with a simple model based on amount of settled payments, and being
used to decide what is an "expensive" route for outbound calls.

Stephen Paul Weber created

2b3ebc3 Merge branch 'insert-settled-after'

Click to expand commit body
* insert-settled-after:
  Credit card transactions settle after 90 days, bills instantly

Stephen Paul Weber created

6e76abb Update to schema with settled_after

Stephen Paul Weber created

fa0e681 Merge branch 'bill-with-note'

Click to expand commit body
* bill-with-note:
  Add a note when billing account

Stephen Paul Weber created

bb33b0c Add a note when billing account

Stephen Paul Weber created

42add6d Credit card transactions settle after 90 days, bills instantly

Stephen Paul Weber created

a688701 Merge branch 'activate-with-balance'

Click to expand commit body
* 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

Stephen Paul Weber created

8291b15 If customer already has enough balance, just bill them and finish

Stephen Paul Weber created

4ef20f6 New BillPay registration step

Click to expand commit body
Assumes they have enough balance (anyone using this step must be sure of this)
and then does the billing before proceeding to finish.

Stephen Paul Weber created

27be78a Save plan to DB as soon as it is selected

Click to expand commit body
Customer will appear as instantly expired (having been active for 1 second in
the immediate past).

This can replace the pending_plan key for BTC activations. It also serves as a
record for mail-in activation of what plan they had selected.

Once the account is really activated the tiny row is removed.

Stephen Paul Weber created

2e7f0c4 Move credit_to lookup into relevant class

Stephen Paul Weber created

8fd61ce Merge branch 'monthly-billing'

Click to expand commit body
* monthly-billing:
  Allow the DB to notify us to bill a customer
  Command.execution setter
  Bill plan command
  Clearer name for lock bypass factory

Stephen Paul Weber created

3b7abeb Allow the DB to notify us to bill a customer

Stephen Paul Weber created

8a4e129 Command.execution setter

Stephen Paul Weber created

655624d Bill plan command

Click to expand commit body
Implements the full logic of the billing_monthly_cronjob for one customer by
reusing code that has been written more robustly in sgx-jmp for some time.  This
will allow the cronjob to just execute this command once a day for each expiring
customer to get all the correct billing behaviours.

Stephen Paul Weber created