Skip to main content

Vumi Go

Project description

Documentation available online at and in the docs directory of the repository.

vumigo-ci vumigo-cover vumigo-waffle


Install the dependencies:

$ virtualenv --no-site-packages ve
$ source ve/bin/activate
(ve)$ pip install -r requirements.pip

Other stuff that’s required:

After installing Riak, you will need to edit the /etc/riak/app.config file: set the storage backend to eleveldb instead of bitcask, and enable riak_search.


There is a Vagrantfile in the Vumi repository that can be used for Vumi Go as well.

Bootstrapping a development environment

After having installed the dependencies with pip and ensuring that Redis, Riak and RabbitMQ are running execute the following command:

(ve)$ ./

This 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/

Next start everything using Supervisord:

(ve)$ supervisord -c setup_env/build/go_supervisord.conf
(ve)$ supervisorctl -c setup_env/build/go_supervisord.conf

Now you should be able to login to the Vumi UI at http://localhost:8000 using the account details as specified in setup_env/accounts.yaml.

The default accounts created are:

Username Password password password

By default the Wikipedia USSD service is configured to be running on localhost 8081.

$ telnet localhost 8081
Connected to localhost.
Escape character is '^]'.
Please provide "to_addr":
Please provide "from_addr":
[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 testing

To 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.yaml

The 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
port: 5222
status: chat
status_message: Vumi Go!

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

    log_level: debug

     addr_pattern: '^(.+\@.+)/?.*$'
     tagpool_template: 'xmpp'
     tagname_template: '\1'
     tagname_pattern: '.*'
     msg_template: {}

For you to be able to use this account for messaging you will need to add it to the tagpools.yaml file. Do this by adding the following below ussd_tagpool under pools:

    - # change this
    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_setup_env \
        --config-file=./setup_env/config.yaml \

And give your account access to this new tagpool:

(ve)$ ./go-admin go_assign_tagpool \ \
        --tagpool=xmpp_tagpool \

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for vumi-go, version 0.5.0
Filename, size File type Python version Upload date Hashes
Filename, size vumi_go-0.5.0-py2-none-any.whl (522.4 kB) File type Wheel Python version py2 Upload date Hashes View
Filename, size vumi-go-0.5.0.tar.gz (354.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page