Metadata-Version: 2.1
Name: voiceme
Version: 0.7.6
Summary: Generate voice calls
Home-page: https://github.com/smurfix/voiceme
Author: Matthias Urlichs
Author-email: matthias@urlichs.de
License: proprietary
Keywords: async,asterisk
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Information Technology
Classifier: Framework :: AsyncIO
Classifier: Framework :: Trio
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.7

=======
VoiceMe
=======

This is a program which receives call-me messages from AMQP, runs
text2speech on them (via "espeak"), and then tells Asterisk to call the
number and send the text.

Failed calls get requeued (with a delay). Outgoing channels are limited; if
all channels are maxed out then the command will no longer accept requests,
which will cause calls to not be stranded in the pre-fetch queue.

-------------
Web endpoints
-------------

The daemon includes an HTTP front-end for submission and status reporting.
It is authorized but not encrypted, as the latter is the job of a local
front-end (apache, ”nginx”, …).

* /

  JSON data with service health

* /health

  alias of ``/``

* / (POST)

  Submission. See below.

* /authcheck

  Authorized endpoint, to test whether auth works.


------------------
Message submission
------------------

Messages can be either in ``text/plain`` or ``application/json`` format.

``text/plain``::

    phonenumber=09119352112
    lang=de
    content=Dies ist ein Testtext. Eine Zeile.

Alternate form, ``text/plain``::

    phonenumber=09119352112
    lang=de
    .
    Dies ist ein Testtext.
    Er kann mehrzeilig sein.

``application/json``::

    {"phonenumber":"09119352112,"lang":"de","content":"Dies ist ein Testtext."}}   

The reply is a JSON message::

    {"msg":"message accepted","code":202,"uuid":"b5158433-ddbc-4b9a-b9f4-9193feb76a54"}

The UUID can be used to track this message's delivery in the daemon's log
or the AMQP monitor channel.

## build

There is a pipeline to build a debian package. Its triggered by creating a git-tag.

