Package: vumi-go
Documentation available online athttp://vumi-go.readthedocs.org/and in thedocsdirectory of the repository.InstallingInstall the dependencies:$ virtualenv --no-site-packages ve
$ source ve/bin/activate
(ve)$ pip install -r requirements.pipOther stuff that’s required:RedisRabbitMQ, after you’ve installed this runsudo ./utils/rabbitmq.setup.shto set the correct permissions for the vumi RabbitMQ user.Riak, install as described in:http://wiki.basho.com/Installation.htmlAfter installingRiak, you will need to edit the/etc/riak/app.configfile: set the storage backend toeleveldbinstead ofbitcask, and enableriak_search.NoteThere is a Vagrantfile in theVumirepository that can be used for Vumi Go as well.Bootstrapping a development environmentAfter having installed the dependencies with pip and ensuring thatRedis,RiakandRabbitMQare running execute the following command:(ve)$ ./setup_env.shThis will generate all the necessary config files for running a set of
standard applications and Telnet transports emulating a USSD and SMS
connection.To start some sample conversations such as Wikipedia execute the
following command:(ve)$ ./setup_env/build/go_startup_env.shNext start everything usingSupervisord:(ve)$ supervisord -c setup_env/build/go_supervisord.conf
(ve)$ supervisorctl -c setup_env/build/go_supervisord.confNow you should be able to login to the Vumi UI athttp://localhost:8000using
the account details as specified insetup_env/accounts.yaml.The default accounts created are:UsernamePassworduser1@example.orgpassworduser2@example.orgpasswordBy default the Wikipedia USSD service is configured to be running on
localhost 8081.$ telnet localhost 8081
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Please provide "to_addr":
*120*10001#
Please provide "from_addr":
simon
[Sending all messages to: *120*10001# and from: simon]
What would you like to search Wikipedia for?
...The SMS delivery part uses ‘longcode-10001’ as the virtual address and
the outbound SMSes as part of the USSD Wikipedia are sent to that address.Using GTalk as a transport for testingTo ease local development we often use GTalk. You will need at least two
Gtalk addresses, one will be used for the Vumi transport the other you
will need to use with your normal Gtalk client to interact with the service.Start the XMPP transport with the following command:(ve)$ twistd -n vumi_worker \
>      --worker-class=vumi.transports.xmpp.XMPPTransport
>      --config=path/to/xmpp-config.yamlThe configuration for the XMPP transport should have the following parameters:transport_name: <desired transport name> # change this
username: <your username> # change this
password: <your password> # change this
host: talk.google.com
port: 5222
status: chat
status_message: Vumi Go!

middleware:
    - logging_mw: vumi.middleware.logging.LoggingMiddleware
    - gtalk_tagging_mw: vumi.middleware.tagger.TaggingMiddleware

logging_mw:
    log_level: debug

gtalk_tagging_mw:
   incoming:
     addr_pattern: '^(.+\@.+)/?.*$'
     tagpool_template: 'xmpp'
     tagname_template: '\1'
   outgoing:
     tagname_pattern: '.*'
     msg_template: {}For you to be able to use this account for messaging you will need to add
it to thetagpools.yamlfile. Do this by adding the following belowussd_tagpoolunderpools:xmpp_tagpool:
  tags:
    - xmpp@example.org # change this
  metadata:
    display_name: "Google Talk"
    delivery_class: gtalk
    transport_type: xmpp
    user_selects_tag: true
    server_initiated: true
    client_initiated: true
    transport_name: <name of your transport> # change this
    msg_options: {}Next update the Tagpool Manager with this new configuration:(ve)$ ./go-admin.sh go_setup_env \
        --config-file=./setup_env/config.yaml \
        --tagpool-file=./setup_env/tagpools.yamlAnd give your account access to this new tagpool:(ve)$ ./go-admin go_assign_tagpool \
        --email-address=user1@example.org \
        --tagpool=xmpp_tagpool \
        --max-keys=0