The registration wizard for JMP. This wizard requires sgx-catapult and jmp-fwdcalls to operate. It also requires a PayPal premier/merchant account.

The project should run on any web server configured to serve PHP (and to show index.php and index.xhtml as default directory pages) that has phpredis (ie. the php5-redis package in Debian). It also requires Ruby and a properly-configured register4/.htaccess file (that will run config.ru, ie. using CGI or Passenger).

jmp-register requires that an instance of Cheogram be setup, as it assumes that you will want users to be able to use Cheogram JIDs for their contacts (ie. +12113114111@cheogram.com instead of +12113114111@example.sgx.soprani.ca). You must setup a separate JID for registering users with Cheogram (via <forwarded/>) and configure Cheogram to accept that JID. If you don't want to use Cheogram, you will need to replace that code in register[34] before running jmp-register.

Two PayPal subscription buttons must be setup and the details configured below. jmp-register is configured by default to use the PayPal Sandbox - in order to run jmp-register in production you must change "sandbox.paypal" to "paypal" (in register6/index.php and register7/index.php ).

As-written, jmp-register uses MaxMind's GeoIP2 Precision Web Services. Please ensure you have an account configured below, or disable the code before running.

Note that a settings file must be placed at ../../../../settings-jmp.php (relative to register3/index.php for example). The file must define these variables:

  • $support_number (an sgx-catapult hosted E.164 number to send from)
  • $notify_receiver_email (the email address where notification list requests go)
  • $fwdcalls_url (the "Voice Callback" URL that jmp-fwdcalls makes available)
  • $sgx_url (should match the <delivery_receipt_url> that sgx-catapult uses)
  • $sgx_jid (the JID that sgx-catapult uses, ie. "example.sgx.soprani.ca")
  • $cheogram_did (the DID that Cheogram uses, ie. "+12266669977")
  • $cheogram_jid (the JID that Cheogram uses, ie. "cheogram.com")
  • $cheogram_register_jid (the JID that Cheogram trusts for registering users)
  • $cheogram_register_token (the password for $cheogram_register_jid)
  • $register_base_url (the "http://a.b/c" in "http://a.b/c/register3/index.php")
  • $paypal_pdt_token (your PayPal "PDT identity token" - see settings pages)
  • $paypal_tags_monthly (code for monthly PayPal button minus the <form>/</form>)
  • $paypal_tags_annual (code for annual PayPal button minus the <form>/</form>)
  • $redis_host (should match what sgx-catapult uses)
  • $redis_port (should match what sgx-catapult uses)
  • $redis_auth (should match what sgx-catapult uses; empty string if no auth)
  • $key_ttl_seconds (recommended: 3600)
  • $mm_user (MaxMind "User ID", for GeoIP2 Precision Web Services)
  • $mm_token (MaxMind "License key", for GeoIP2 Precision Web Services)
  • $user (the user ID of the Bandwidth AP user being used; starts with "u-")
  • $tuser (the Bandwidth AP "Api Token" that sgx-catapult uses; starts with "t-")
  • $token (the Bandwidth AP "Api Secret" that sgx-catapult uses)
  • $catapult_application_id (sgx-catapult Bandwidth AP app ID; starts with "a-")

Copyright (C) 2017 Denver Gingerich <denver@ossguy.com>

Copying and distribution of this README.creole file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.