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. Ew.
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 to. 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.
Check config against schema when loading So we know very quickly why it's not working.