~singpolyma/sgx-jmp

ref: e8c2ecb164100634bcd0928758e7657e7c9cd138 sgx-jmp/Gemfile -rw-r--r-- 1.2 KiB
Need latest em_promise.rb
Fix for faraday+em_http and gzip
New bundler requires these to be here to use the commands
Merge branch 'rubocop'

* rubocop:
  Additional fixes for rubocop 1.10.1
  Switch to rubocop 0.89.1
Switch to rubocop 0.89.1

This is the rubocop in new Debian stable
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
We don't really want remote, we just want stdin to not be closed by blather...
Use fixed em-http-request
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.

Ew.
Outbound calls from v2 SIP endpoint work and save a CDR
Merge branch 'command-object'

* command-object:
  ErrorToSend => FinalStanza
  Since Command#finish causes an error, a then off the end won't work
  Refactor commands to have Command and Command::Execution objects
Refactor commands to have Command and Command::Execution objects

Brings the common elements of all commands together, and threads the most useful
state (such as ability to reply) through automatically using the new EMPromise
fiber trampoline.
Merge branch 'logging'

* logging:
  Slightly better logging
Slightly better logging

Import structured logging gem ougai and replace current use of puts/warn with
logging calls.  Gives us level, timestamp, and formatting for exceptions and/or
hash of arbitrary context data.  Can do JSON logging if we ever need that, but
set to human-readable (with colour if isatty) for now.
Use stats-instrument with graphite support
Next