restcomm-ruby 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/AUTHORS.md +38 -0
- data/CHANGES.md +171 -0
- data/Gemfile +11 -0
- data/LICENSE +662 -0
- data/LICENSE.md +19 -0
- data/Makefile +12 -0
- data/README.md +155 -0
- data/Rakefile +10 -0
- data/conf/cacert.pem +3376 -0
- data/docs/Makefile +130 -0
- data/docs/_themes/LICENSE +45 -0
- data/docs/_themes/README.rst +25 -0
- data/docs/_themes/flask_theme_support.py +86 -0
- data/docs/_themes/kr/layout.html +32 -0
- data/docs/_themes/kr/relations.html +19 -0
- data/docs/_themes/kr/static/flasky.css_t +469 -0
- data/docs/_themes/kr/static/small_flask.css +70 -0
- data/docs/_themes/kr/theme.conf +7 -0
- data/docs/_themes/kr_small/layout.html +22 -0
- data/docs/_themes/kr_small/static/flasky.css_t +287 -0
- data/docs/_themes/kr_small/theme.conf +10 -0
- data/docs/changelog.rst +1 -0
- data/docs/conf.py +266 -0
- data/docs/faq.rst +42 -0
- data/docs/getting-started.rst +100 -0
- data/docs/index.rst +109 -0
- data/docs/make.bat +170 -0
- data/docs/src/pip-delete-this-directory.txt +5 -0
- data/docs/usage/accounts.rst +96 -0
- data/docs/usage/addresses.rst +102 -0
- data/docs/usage/applications.rst +111 -0
- data/docs/usage/basics.rst +120 -0
- data/docs/usage/caller-ids.rst +47 -0
- data/docs/usage/conferences.rst +112 -0
- data/docs/usage/errors.rst +31 -0
- data/docs/usage/messages.rst +142 -0
- data/docs/usage/notifications.rst +72 -0
- data/docs/usage/phone-calls.rst +193 -0
- data/docs/usage/phone-numbers.rst +192 -0
- data/docs/usage/queues.rst +117 -0
- data/docs/usage/recordings.rst +102 -0
- data/docs/usage/sip.rst +108 -0
- data/docs/usage/token-generation.rst +96 -0
- data/docs/usage/transcriptions.rst +34 -0
- data/docs/usage/twiml.rst +69 -0
- data/docs/usage/validation.rst +107 -0
- data/examples/examples.rb +200 -0
- data/examples/print-call-log.rb +25 -0
- data/lib/rack/restcomm_webhook_authentication.rb +47 -0
- data/lib/restcomm-ruby.rb +103 -0
- data/lib/restcomm-ruby/rest/accounts.rb +17 -0
- data/lib/restcomm-ruby/rest/addresses.rb +12 -0
- data/lib/restcomm-ruby/rest/addresses/dependent_phone_numbers.rb +6 -0
- data/lib/restcomm-ruby/rest/applications.rb +6 -0
- data/lib/restcomm-ruby/rest/authorized_connect_apps.rb +6 -0
- data/lib/restcomm-ruby/rest/available_phone_numbers.rb +13 -0
- data/lib/restcomm-ruby/rest/available_phone_numbers/country.rb +10 -0
- data/lib/restcomm-ruby/rest/available_phone_numbers/local.rb +11 -0
- data/lib/restcomm-ruby/rest/available_phone_numbers/mobile.rb +11 -0
- data/lib/restcomm-ruby/rest/available_phone_numbers/toll_free.rb +11 -0
- data/lib/restcomm-ruby/rest/call_feedback.rb +28 -0
- data/lib/restcomm-ruby/rest/call_feedback_summary.rb +13 -0
- data/lib/restcomm-ruby/rest/calls.rb +37 -0
- data/lib/restcomm-ruby/rest/client.rb +555 -0
- data/lib/restcomm-ruby/rest/conferences.rb +12 -0
- data/lib/restcomm-ruby/rest/conferences/participants.rb +23 -0
- data/lib/restcomm-ruby/rest/connect_apps.rb +6 -0
- data/lib/restcomm-ruby/rest/errors.rb +14 -0
- data/lib/restcomm-ruby/rest/incoming_phone_numbers.rb +17 -0
- data/lib/restcomm-ruby/rest/incoming_phone_numbers/local.rb +13 -0
- data/lib/restcomm-ruby/rest/incoming_phone_numbers/mobile.rb +13 -0
- data/lib/restcomm-ruby/rest/incoming_phone_numbers/toll_free.rb +13 -0
- data/lib/restcomm-ruby/rest/instance_resource.rb +88 -0
- data/lib/restcomm-ruby/rest/list_resource.rb +132 -0
- data/lib/restcomm-ruby/rest/media.rb +14 -0
- data/lib/restcomm-ruby/rest/messages.rb +23 -0
- data/lib/restcomm-ruby/rest/next_gen_list_resource.rb +29 -0
- data/lib/restcomm-ruby/rest/notifications.rb +6 -0
- data/lib/restcomm-ruby/rest/outgoing_caller_ids.rb +25 -0
- data/lib/restcomm-ruby/rest/queues.rb +12 -0
- data/lib/restcomm-ruby/rest/queues/members.rb +29 -0
- data/lib/restcomm-ruby/rest/recordings.rb +35 -0
- data/lib/restcomm-ruby/rest/sandbox.rb +5 -0
- data/lib/restcomm-ruby/rest/sip.rb +10 -0
- data/lib/restcomm-ruby/rest/sip/credential_lists.rb +11 -0
- data/lib/restcomm-ruby/rest/sip/credential_lists/credentials.rb +6 -0
- data/lib/restcomm-ruby/rest/sip/domains.rb +12 -0
- data/lib/restcomm-ruby/rest/sip/domains/credential_list_mappings.rb +6 -0
- data/lib/restcomm-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +6 -0
- data/lib/restcomm-ruby/rest/sip/ip_access_control_lists.rb +11 -0
- data/lib/restcomm-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +6 -0
- data/lib/restcomm-ruby/rest/sms.rb +11 -0
- data/lib/restcomm-ruby/rest/sms/messages.rb +39 -0
- data/lib/restcomm-ruby/rest/sms/short_codes.rb +8 -0
- data/lib/restcomm-ruby/rest/task_router/activities.rb +8 -0
- data/lib/restcomm-ruby/rest/task_router/events.rb +8 -0
- data/lib/restcomm-ruby/rest/task_router/reservations.rb +8 -0
- data/lib/restcomm-ruby/rest/task_router/task_queues.rb +8 -0
- data/lib/restcomm-ruby/rest/task_router/task_queues_statistics.rb +15 -0
- data/lib/restcomm-ruby/rest/task_router/tasks.rb +15 -0
- data/lib/restcomm-ruby/rest/task_router/workers.rb +8 -0
- data/lib/restcomm-ruby/rest/task_router/workers_statistics.rb +8 -0
- data/lib/restcomm-ruby/rest/task_router/workflow_statistics.rb +7 -0
- data/lib/restcomm-ruby/rest/task_router/workflows.rb +8 -0
- data/lib/restcomm-ruby/rest/task_router/workspace_statistics.rb +7 -0
- data/lib/restcomm-ruby/rest/task_router/workspaces.rb +15 -0
- data/lib/restcomm-ruby/rest/tokens.rb +7 -0
- data/lib/restcomm-ruby/rest/transcriptions.rb +6 -0
- data/lib/restcomm-ruby/rest/usage.rb +10 -0
- data/lib/restcomm-ruby/rest/usage/records.rb +21 -0
- data/lib/restcomm-ruby/rest/usage/triggers.rb +12 -0
- data/lib/restcomm-ruby/rest/utils.rb +49 -0
- data/lib/restcomm-ruby/task_router.rb +0 -0
- data/lib/restcomm-ruby/task_router/capability.rb +87 -0
- data/lib/restcomm-ruby/twiml/response.rb +16 -0
- data/lib/restcomm-ruby/util.rb +15 -0
- data/lib/restcomm-ruby/util/capability.rb +64 -0
- data/lib/restcomm-ruby/util/configuration.rb +7 -0
- data/lib/restcomm-ruby/util/request_validator.rb +37 -0
- data/lib/restcomm-ruby/version.rb +3 -0
- data/restcomm-ruby.gemspec +34 -0
- data/spec/rack/twilio_webhook_authentication_spec.rb +110 -0
- data/spec/rest/account_spec.rb +89 -0
- data/spec/rest/address_spec.rb +11 -0
- data/spec/rest/call_feedback_spec.rb +12 -0
- data/spec/rest/call_feedback_summary_spec.rb +9 -0
- data/spec/rest/call_spec.rb +22 -0
- data/spec/rest/client_spec.rb +258 -0
- data/spec/rest/conference_spec.rb +11 -0
- data/spec/rest/instance_resource_spec.rb +15 -0
- data/spec/rest/message_spec.rb +12 -0
- data/spec/rest/numbers_spec.rb +58 -0
- data/spec/rest/queue_spec.rb +11 -0
- data/spec/rest/recording_spec.rb +11 -0
- data/spec/rest/sms/message_spec.rb +37 -0
- data/spec/rest/sms/messages_spec.rb +36 -0
- data/spec/rest/task_router/reservation_spec.rb +9 -0
- data/spec/rest/task_router/task_queue_spec.rb +9 -0
- data/spec/rest/token_spec.rb +7 -0
- data/spec/rest/utils_spec.rb +45 -0
- data/spec/spec_helper.rb +15 -0
- data/spec/support/fakeweb.rb +2 -0
- data/spec/task_router_spec.rb +114 -0
- data/spec/twilio_spec.rb +15 -0
- data/spec/util/capability_spec.rb +186 -0
- data/spec/util/configuration_spec.rb +13 -0
- data/spec/util/request_validator_spec.rb +93 -0
- data/spec/util/url_encode_spec.rb +12 -0
- metadata +298 -0
data/docs/faq.rst
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
==========================
|
2
|
+
Frequently Asked Questions
|
3
|
+
==========================
|
4
|
+
|
5
|
+
Hopefully you can find an answer here to one of your questions. If not, please
|
6
|
+
contact `help@restcomm.com <mailto:help@restcomm.com>`_.
|
7
|
+
|
8
|
+
|
9
|
+
Formatting phone numbers
|
10
|
+
------------------------
|
11
|
+
|
12
|
+
Restcomm always returns phone numbers that are formatted in the `E.164 format
|
13
|
+
<http://en.wikipedia.org/wiki/E.164>`_, like this: ``+12125551234``. However
|
14
|
+
your users may enter them like this: ``(212) 555-1234``. This can lead to
|
15
|
+
problems when, for example, Restcomm makes a POST request to your server with the
|
16
|
+
``From`` phone number as ``+12125551234``, but you stored the phone number in
|
17
|
+
your database as ``(212) 555-1234``, causing a database lookup to fail.
|
18
|
+
|
19
|
+
We suggest that you convert the number to E.164 format
|
20
|
+
before you store it in the database. The `phony
|
21
|
+
<https://github.com/floere/phony>`_ gem is excellent
|
22
|
+
for this purpose. Install it like this:
|
23
|
+
|
24
|
+
.. code-block:: bash
|
25
|
+
|
26
|
+
$ gem install phony
|
27
|
+
|
28
|
+
Then you can convert user input to phone numbers like this:
|
29
|
+
|
30
|
+
.. code-block:: ruby
|
31
|
+
|
32
|
+
require 'phony'
|
33
|
+
|
34
|
+
def convert_to_e164(raw_phone)
|
35
|
+
Phony.format(
|
36
|
+
raw_phone,
|
37
|
+
format: :international,
|
38
|
+
spaces: ''
|
39
|
+
).gsub(/\s+/, "") # Phony won't remove all spaces
|
40
|
+
end
|
41
|
+
|
42
|
+
puts convert_to_e164('212 555 1234') # prints +12125551234
|
@@ -0,0 +1,100 @@
|
|
1
|
+
===========
|
2
|
+
Quickstart
|
3
|
+
===========
|
4
|
+
|
5
|
+
Getting started with the Restcomm API couldn't be easier. Create a Restcomm REST
|
6
|
+
client to get started. For example, the following code makes a call using the
|
7
|
+
Restcomm REST API.
|
8
|
+
|
9
|
+
go to the restcomm-ruby/examples/examples.rb files for detailed examples
|
10
|
+
|
11
|
+
Make a Call
|
12
|
+
===============
|
13
|
+
|
14
|
+
.. code-block:: ruby
|
15
|
+
|
16
|
+
require 'restcomm-ruby'
|
17
|
+
|
18
|
+
# To find these visit http://docs.telestax.com/restcomm-pages/
|
19
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
20
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
21
|
+
host = "XXX.XXX.XXX.XXX"
|
22
|
+
|
23
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
24
|
+
@call = @client.calls.create(
|
25
|
+
to: "9991231234",
|
26
|
+
from: "9991231234",
|
27
|
+
url: "http://twimlets.com/holdmusic?Bucket=com.restcomm.music.ambient"
|
28
|
+
)
|
29
|
+
puts @call.length
|
30
|
+
puts @call.sid
|
31
|
+
|
32
|
+
|
33
|
+
Send an SMS
|
34
|
+
===========
|
35
|
+
|
36
|
+
.. code-block:: ruby
|
37
|
+
|
38
|
+
require 'restcomm-ruby'
|
39
|
+
|
40
|
+
# To find these visit http://docs.telestax.com/restcomm-pages/
|
41
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
42
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
43
|
+
host = "XXX.XXX.XXX.XXX"
|
44
|
+
|
45
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
46
|
+
|
47
|
+
@message = @client.messages.create(
|
48
|
+
to: "+12316851234",
|
49
|
+
from: "+15555555555",
|
50
|
+
body: "Hello there!"
|
51
|
+
)
|
52
|
+
|
53
|
+
Send an MMS
|
54
|
+
===========
|
55
|
+
|
56
|
+
.. code-block:: ruby
|
57
|
+
|
58
|
+
require 'restcomm-ruby'
|
59
|
+
|
60
|
+
# To find these visit http://docs.telestax.com/restcomm-pages/
|
61
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
62
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
63
|
+
host = "XXX.XXX.XXX.XXX"
|
64
|
+
|
65
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
66
|
+
|
67
|
+
@message = @client.messages.create(
|
68
|
+
to: "+15558676309",
|
69
|
+
from: "+15555555555",
|
70
|
+
body: "Jenny I need you!",
|
71
|
+
media_url: "http://restcomm.com/heart.jpg"
|
72
|
+
)
|
73
|
+
|
74
|
+
Generating RCML
|
75
|
+
=================
|
76
|
+
|
77
|
+
To control phone calls, your application needs to output `RCML
|
78
|
+
<http://www.restcomm.com/docs/api/twiml/>`_. Use :class:`restcomm.twiml.Response`
|
79
|
+
to easily create such responses.
|
80
|
+
|
81
|
+
.. code-block:: ruby
|
82
|
+
|
83
|
+
Restcomm::RCML::Response do |r|
|
84
|
+
r.Play "https://api.example-site.com/cowbell.mp3", loop: 5
|
85
|
+
end.text
|
86
|
+
|
87
|
+
.. code-block:: xml
|
88
|
+
|
89
|
+
<?xml version="1.0" encoding="utf-8"?>
|
90
|
+
<Response>
|
91
|
+
<Play loop="5">https://api.example-site.com/cowbell.mp3</Play>
|
92
|
+
<Response>
|
93
|
+
|
94
|
+
|
95
|
+
Digging Deeper
|
96
|
+
========================
|
97
|
+
|
98
|
+
The full power of the Restcomm API is at your fingertips. The :ref:`user-guide`
|
99
|
+
explains all the awesome features available to use.
|
100
|
+
|
data/docs/index.rst
ADDED
@@ -0,0 +1,109 @@
|
|
1
|
+
=============================
|
2
|
+
Restcomm Ruby Helper Library
|
3
|
+
=============================
|
4
|
+
|
5
|
+
.. _installation:
|
6
|
+
|
7
|
+
Installation
|
8
|
+
================
|
9
|
+
|
10
|
+
Just install the gem!
|
11
|
+
|
12
|
+
.. code-block:: bash
|
13
|
+
|
14
|
+
$ gem install restcomm-ruby
|
15
|
+
|
16
|
+
Getting Started
|
17
|
+
================
|
18
|
+
|
19
|
+
The :doc:`/getting-started` will get you up and running in a few quick minutes.
|
20
|
+
This guide assumes you understand the core concepts of Restcomm.
|
21
|
+
If you've never used Restcomm before, don't fret! Just read
|
22
|
+
`about how Restcomm works <http://docs.telestax.com/restcomm-pages/>`_ and then jump in!
|
23
|
+
|
24
|
+
|
25
|
+
.. _user-guide:
|
26
|
+
|
27
|
+
User Guide
|
28
|
+
==================
|
29
|
+
|
30
|
+
Functionality is split over three different sub-packages within
|
31
|
+
**restcomm-ruby**. Below are in-depth guides to specific portions of the
|
32
|
+
library.
|
33
|
+
|
34
|
+
|
35
|
+
REST API
|
36
|
+
----------
|
37
|
+
|
38
|
+
Query the Restcomm REST API to create phone calls, send SMS/MMS messages and more!
|
39
|
+
|
40
|
+
.. toctree::
|
41
|
+
:maxdepth: 1
|
42
|
+
|
43
|
+
usage/basics
|
44
|
+
usage/errors
|
45
|
+
usage/messages
|
46
|
+
usage/phone-calls
|
47
|
+
usage/phone-numbers
|
48
|
+
usage/accounts
|
49
|
+
usage/conferences
|
50
|
+
usage/applications
|
51
|
+
usage/notifications
|
52
|
+
usage/recordings
|
53
|
+
usage/transcriptions
|
54
|
+
usage/caller-ids
|
55
|
+
usage/queues
|
56
|
+
usage/sip
|
57
|
+
|
58
|
+
RCML
|
59
|
+
---------
|
60
|
+
|
61
|
+
Generates valid RCML for controlling and manipulating phone calls.
|
62
|
+
|
63
|
+
.. toctree::
|
64
|
+
:maxdepth: 2
|
65
|
+
|
66
|
+
usage/twiml
|
67
|
+
|
68
|
+
Utilities
|
69
|
+
----------
|
70
|
+
|
71
|
+
Small functions useful for validating requests are coming from Restcomm
|
72
|
+
|
73
|
+
.. toctree::
|
74
|
+
:maxdepth: 1
|
75
|
+
|
76
|
+
usage/validation
|
77
|
+
usage/token-generation
|
78
|
+
|
79
|
+
Frequently Asked Questions
|
80
|
+
==========================
|
81
|
+
|
82
|
+
What to do if you get an ``ImportError``, and some advice about how to format
|
83
|
+
phone numbers.
|
84
|
+
|
85
|
+
.. toctree::
|
86
|
+
:maxdepth: 2
|
87
|
+
|
88
|
+
faq
|
89
|
+
|
90
|
+
Changelog
|
91
|
+
=========
|
92
|
+
|
93
|
+
See the :doc:`/changelog` for version history.
|
94
|
+
|
95
|
+
Support and Development
|
96
|
+
==========================
|
97
|
+
All development occurs over on
|
98
|
+
`Github <https://github.com/Mobicents/restcomm-ruby>`_. To checkout the source,
|
99
|
+
|
100
|
+
.. code-block:: bash
|
101
|
+
|
102
|
+
$ git clone git@github.com:Mobicents/restcomm-ruby.git
|
103
|
+
|
104
|
+
|
105
|
+
Report bugs using the Github
|
106
|
+
`issue tracker <https://github.com/Mobicents/restcomm-ruby/issues>`_.
|
107
|
+
|
108
|
+
If you have questions that aren't answered by this documentation,
|
109
|
+
ask the `#restcomm IRC channel <irc://irc.freenode.net/#restcomm>`_
|
data/docs/make.bat
ADDED
@@ -0,0 +1,170 @@
|
|
1
|
+
@ECHO OFF
|
2
|
+
|
3
|
+
REM Command file for Sphinx documentation
|
4
|
+
|
5
|
+
if "%SPHINXBUILD%" == "" (
|
6
|
+
set SPHINXBUILD=sphinx-build
|
7
|
+
)
|
8
|
+
set BUILDDIR=_build
|
9
|
+
set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .
|
10
|
+
if NOT "%PAPER%" == "" (
|
11
|
+
set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
|
12
|
+
)
|
13
|
+
|
14
|
+
if "%1" == "" goto help
|
15
|
+
|
16
|
+
if "%1" == "help" (
|
17
|
+
:help
|
18
|
+
echo.Please use `make ^<target^>` where ^<target^> is one of
|
19
|
+
echo. html to make standalone HTML files
|
20
|
+
echo. dirhtml to make HTML files named index.html in directories
|
21
|
+
echo. singlehtml to make a single large HTML file
|
22
|
+
echo. pickle to make pickle files
|
23
|
+
echo. json to make JSON files
|
24
|
+
echo. htmlhelp to make HTML files and a HTML help project
|
25
|
+
echo. qthelp to make HTML files and a qthelp project
|
26
|
+
echo. devhelp to make HTML files and a Devhelp project
|
27
|
+
echo. epub to make an epub
|
28
|
+
echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter
|
29
|
+
echo. text to make text files
|
30
|
+
echo. man to make manual pages
|
31
|
+
echo. changes to make an overview over all changed/added/deprecated items
|
32
|
+
echo. linkcheck to check all external links for integrity
|
33
|
+
echo. doctest to run all doctests embedded in the documentation if enabled
|
34
|
+
goto end
|
35
|
+
)
|
36
|
+
|
37
|
+
if "%1" == "clean" (
|
38
|
+
for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
|
39
|
+
del /q /s %BUILDDIR%\*
|
40
|
+
goto end
|
41
|
+
)
|
42
|
+
|
43
|
+
if "%1" == "html" (
|
44
|
+
%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
|
45
|
+
if errorlevel 1 exit /b 1
|
46
|
+
echo.
|
47
|
+
echo.Build finished. The HTML pages are in %BUILDDIR%/html.
|
48
|
+
goto end
|
49
|
+
)
|
50
|
+
|
51
|
+
if "%1" == "dirhtml" (
|
52
|
+
%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
|
53
|
+
if errorlevel 1 exit /b 1
|
54
|
+
echo.
|
55
|
+
echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
|
56
|
+
goto end
|
57
|
+
)
|
58
|
+
|
59
|
+
if "%1" == "singlehtml" (
|
60
|
+
%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
|
61
|
+
if errorlevel 1 exit /b 1
|
62
|
+
echo.
|
63
|
+
echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
|
64
|
+
goto end
|
65
|
+
)
|
66
|
+
|
67
|
+
if "%1" == "pickle" (
|
68
|
+
%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
|
69
|
+
if errorlevel 1 exit /b 1
|
70
|
+
echo.
|
71
|
+
echo.Build finished; now you can process the pickle files.
|
72
|
+
goto end
|
73
|
+
)
|
74
|
+
|
75
|
+
if "%1" == "json" (
|
76
|
+
%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
|
77
|
+
if errorlevel 1 exit /b 1
|
78
|
+
echo.
|
79
|
+
echo.Build finished; now you can process the JSON files.
|
80
|
+
goto end
|
81
|
+
)
|
82
|
+
|
83
|
+
if "%1" == "htmlhelp" (
|
84
|
+
%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
|
85
|
+
if errorlevel 1 exit /b 1
|
86
|
+
echo.
|
87
|
+
echo.Build finished; now you can run HTML Help Workshop with the ^
|
88
|
+
.hhp project file in %BUILDDIR%/htmlhelp.
|
89
|
+
goto end
|
90
|
+
)
|
91
|
+
|
92
|
+
if "%1" == "qthelp" (
|
93
|
+
%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
|
94
|
+
if errorlevel 1 exit /b 1
|
95
|
+
echo.
|
96
|
+
echo.Build finished; now you can run "qcollectiongenerator" with the ^
|
97
|
+
.qhcp project file in %BUILDDIR%/qthelp, like this:
|
98
|
+
echo.^> qcollectiongenerator %BUILDDIR%\qthelp\restcomm-python2.qhcp
|
99
|
+
echo.To view the help file:
|
100
|
+
echo.^> assistant -collectionFile %BUILDDIR%\qthelp\restcomm-python2.ghc
|
101
|
+
goto end
|
102
|
+
)
|
103
|
+
|
104
|
+
if "%1" == "devhelp" (
|
105
|
+
%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
|
106
|
+
if errorlevel 1 exit /b 1
|
107
|
+
echo.
|
108
|
+
echo.Build finished.
|
109
|
+
goto end
|
110
|
+
)
|
111
|
+
|
112
|
+
if "%1" == "epub" (
|
113
|
+
%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
|
114
|
+
if errorlevel 1 exit /b 1
|
115
|
+
echo.
|
116
|
+
echo.Build finished. The epub file is in %BUILDDIR%/epub.
|
117
|
+
goto end
|
118
|
+
)
|
119
|
+
|
120
|
+
if "%1" == "latex" (
|
121
|
+
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
|
122
|
+
if errorlevel 1 exit /b 1
|
123
|
+
echo.
|
124
|
+
echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
|
125
|
+
goto end
|
126
|
+
)
|
127
|
+
|
128
|
+
if "%1" == "text" (
|
129
|
+
%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
|
130
|
+
if errorlevel 1 exit /b 1
|
131
|
+
echo.
|
132
|
+
echo.Build finished. The text files are in %BUILDDIR%/text.
|
133
|
+
goto end
|
134
|
+
)
|
135
|
+
|
136
|
+
if "%1" == "man" (
|
137
|
+
%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
|
138
|
+
if errorlevel 1 exit /b 1
|
139
|
+
echo.
|
140
|
+
echo.Build finished. The manual pages are in %BUILDDIR%/man.
|
141
|
+
goto end
|
142
|
+
)
|
143
|
+
|
144
|
+
if "%1" == "changes" (
|
145
|
+
%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
|
146
|
+
if errorlevel 1 exit /b 1
|
147
|
+
echo.
|
148
|
+
echo.The overview file is in %BUILDDIR%/changes.
|
149
|
+
goto end
|
150
|
+
)
|
151
|
+
|
152
|
+
if "%1" == "linkcheck" (
|
153
|
+
%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
|
154
|
+
if errorlevel 1 exit /b 1
|
155
|
+
echo.
|
156
|
+
echo.Link check complete; look for any errors in the above output ^
|
157
|
+
or in %BUILDDIR%/linkcheck/output.txt.
|
158
|
+
goto end
|
159
|
+
)
|
160
|
+
|
161
|
+
if "%1" == "doctest" (
|
162
|
+
%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
|
163
|
+
if errorlevel 1 exit /b 1
|
164
|
+
echo.
|
165
|
+
echo.Testing of doctests in the sources finished, look at the ^
|
166
|
+
results in %BUILDDIR%/doctest/output.txt.
|
167
|
+
goto end
|
168
|
+
)
|
169
|
+
|
170
|
+
:end
|
@@ -0,0 +1,96 @@
|
|
1
|
+
.. module:: restcomm.rest
|
2
|
+
|
3
|
+
===========
|
4
|
+
Accounts
|
5
|
+
===========
|
6
|
+
|
7
|
+
Managing Restcomm accounts is straightforward.
|
8
|
+
Update your own account information or create and manage multiple subaccounts.
|
9
|
+
|
10
|
+
For more information, see the
|
11
|
+
`Account REST Resource <http://docs.telestax.com/restcomm-pages/>`_
|
12
|
+
documentation.
|
13
|
+
|
14
|
+
|
15
|
+
Go to the restcomm-ruby/examples/examples.rb for detailed examples of
|
16
|
+
of how to use the restcomm-ruby wrapper
|
17
|
+
|
18
|
+
|
19
|
+
Updating Account Information
|
20
|
+
----------------------------
|
21
|
+
|
22
|
+
Use the :meth:`Account.update` to modify one of your accounts.
|
23
|
+
Right now the only valid attribute is :attr:`friendly_name`.
|
24
|
+
|
25
|
+
.. code-block:: ruby
|
26
|
+
|
27
|
+
require 'restcomm-ruby'
|
28
|
+
|
29
|
+
# To find these visit http://docs.telestax.com/restcomm-pages/
|
30
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
31
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
32
|
+
host = "XXX.XXX.XXX.XXX"
|
33
|
+
|
34
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
35
|
+
@account = @client.accounts.get(account_sid)
|
36
|
+
@account.update(friendly_name: "My Awesome Account")
|
37
|
+
|
38
|
+
|
39
|
+
Creating Subaccounts
|
40
|
+
----------------------
|
41
|
+
|
42
|
+
Subaccounts are easy to make.
|
43
|
+
|
44
|
+
.. code-block:: ruby
|
45
|
+
|
46
|
+
require 'restcomm-ruby'
|
47
|
+
|
48
|
+
# To find these visit http://docs.telestax.com/restcomm-pages/
|
49
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
50
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
51
|
+
host = "XXX.XXX.XXX.XXX"
|
52
|
+
|
53
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
54
|
+
@subaccount = @client.accounts.create(name: "My Awesome SubAccount")
|
55
|
+
|
56
|
+
|
57
|
+
Managing Subaccounts
|
58
|
+
-------------------------
|
59
|
+
|
60
|
+
Say you have a subaccount for Client X with an account sid `AC123`
|
61
|
+
|
62
|
+
.. code-block:: ruby
|
63
|
+
|
64
|
+
require 'restcomm-ruby'
|
65
|
+
|
66
|
+
# To find these visit http://docs.telestax.com/restcomm-pages/
|
67
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
68
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
69
|
+
host = "XXX.XXX.XXX.XXX"
|
70
|
+
|
71
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
72
|
+
|
73
|
+
# Client X's subaccount
|
74
|
+
@subaccount = @client.accounts.get('AC123')
|
75
|
+
|
76
|
+
Client X hasn't paid you recently, so let's suspend their account.
|
77
|
+
|
78
|
+
.. code-block:: ruby
|
79
|
+
|
80
|
+
@subaccount.update(status: 'suspended')
|
81
|
+
|
82
|
+
If it was just a misunderstanding, reenable their account.
|
83
|
+
|
84
|
+
.. code-block:: ruby
|
85
|
+
|
86
|
+
@subaccount.update(status: 'active')
|
87
|
+
|
88
|
+
Otherwise, close their account permanently.
|
89
|
+
|
90
|
+
.. code-block:: ruby
|
91
|
+
|
92
|
+
@subaccount.update(status: 'closed')
|
93
|
+
|
94
|
+
.. warning::
|
95
|
+
This action can't be undone.
|
96
|
+
|