Airtel USSD Transport

class, config=None)

Bases: vumi.transports.httprpc.httprpc.HttpRpcTransport

Client implementation for the Comviva Flares HTTP Pull API. Based on Flares 1.5.0, document version 1.2.0


alias of AirtelUSSDTransportConfig

class, static=False)

Bases: vumi.transports.httprpc.httprpc.HttpRpcTransportConfig

Configuration options:

  • amqp_prefetch_count (int) – The number of messages fetched concurrently from each AMQP queue by each worker instance.
  • transport_name (str) – The name this transport instance will use to create its queues.
  • publish_status (bool) – Whether status messages should be published by the transport
  • web_path (str) – The path to listen for requests on.
  • web_port (int) – The port to listen for requests on, defaults to 0.
  • web_username (str) – The username to require callers to authenticate with. If None then no authentication is required. Currently only HTTP Basic authentication is supported.
  • web_password (str) – The password to go with web_username. Must be None if and only if web_username is None.
  • web_auth_domain (str) – The name of authentication domain.
  • health_path (str) – The path to listen for downstream health checks on (useful with HAProxy)
  • request_cleanup_interval (int) – How often should we actively look for old connections that should manually be timed out. Anything less than 1 disables the request cleanup meaning that all request objects will be kept in memory until the server is restarted, regardless if the remote side has dropped the connection or not. Defaults to 5 seconds.
  • request_timeout (int) – How long should we wait for the remote side generating the response for this synchronous operation to come back. Any connection that has waited longer than request_timeout seconds will manually be closed. Defaults to 4 minutes.
  • request_timeout_status_code (int) – What HTTP status code should be generated when a timeout occurs. Defaults to 504 Gateway Timeout.
  • request_timeout_body (str) – What HTTP body should be returned when a timeout occurs. Defaults to ‘’.
  • noisy (bool) – Defaults to False set to True to make this transport log verbosely.
  • validation_mode (str) – The mode to operate in. Can be ‘strict’ or ‘permissive’. If ‘strict’ then any parameter received that is not listed in EXPECTED_FIELDS nor in IGNORED_FIELDS will raise an error. If ‘permissive’ then no error is raised as long as all the EXPECTED_FIELDS are present.
  • response_time_down (float) – The maximum time allowed for a response before the service is considered down
  • response_time_degraded (float) – The maximum time allowed for a response before the service is considered degraded
  • airtel_username (str) – The username for this transport
  • airtel_password (str) – The password for this transport
  • airtel_charge (bool) – Whether or not to charge for the responses sent.
  • airtel_charge_amount (int) – How much to charge
  • redis_manager (dict) – Parameters to connect to Redis with.
  • session_key_prefix (str) – The prefix to use for session key management. Specify thisif you are using more than 1 worker in a load-balancedfashion.
  • ussd_session_timeout (int) – Max length of a USSD session
  • to_addr_pattern (str) – A regular expression that to_addr values in messages that start a new USSD session must match. Initial messages with invalid to_addr values are rejected.