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
@@ -0,0 +1,102 @@
|
|
1
|
+
.. module:: restcomm.rest.resources
|
2
|
+
|
3
|
+
=========
|
4
|
+
Addresses
|
5
|
+
=========
|
6
|
+
|
7
|
+
An Address instance resource represents your or your customer’s physical
|
8
|
+
location within a country. Around the world, some local authorities require the
|
9
|
+
name and address of the user to be on file with Restcomm to purchase and own a
|
10
|
+
phone number.
|
11
|
+
|
12
|
+
For more information, see the `Address REST Resource
|
13
|
+
<http://docs.telestax.com/restcomm-pages/`_ documentation.
|
14
|
+
|
15
|
+
Creating an Address
|
16
|
+
-------------------
|
17
|
+
|
18
|
+
Addresses contain the name of your company or your customer’s company in
|
19
|
+
addition to location information and an optional friendly name.
|
20
|
+
|
21
|
+
.. code-block:: ruby
|
22
|
+
|
23
|
+
require 'restcomm-ruby'
|
24
|
+
|
25
|
+
# To find these visit http://docs.telestax.com/restcomm-pages/
|
26
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
27
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
28
|
+
host = "XXX.XXX.XXX.XXX"
|
29
|
+
|
30
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
31
|
+
@address = @client.addresses.create(
|
32
|
+
friendly_name: "Homer",
|
33
|
+
customer_name: "Homer Simpson",
|
34
|
+
street: "742 Evergreen Terrace",
|
35
|
+
city: "Springfield",
|
36
|
+
region "IL",
|
37
|
+
postal_code: "62701",
|
38
|
+
iso_country: "US"
|
39
|
+
)
|
40
|
+
|
41
|
+
Listing Addresses
|
42
|
+
-----------------
|
43
|
+
|
44
|
+
The following code will print out the :attr:`customer_name` for each :class:`Address`.
|
45
|
+
|
46
|
+
.. code-block:: ruby
|
47
|
+
|
48
|
+
@addresses = @client.addresses.list()
|
49
|
+
@addresses.each do |address|
|
50
|
+
puts address.customer_name
|
51
|
+
end
|
52
|
+
|
53
|
+
Filtering Addresses
|
54
|
+
-------------------
|
55
|
+
|
56
|
+
The list of Addresses can be filtered on :attr:`friendly_name`,
|
57
|
+
:attr:`customer_name`, and/or :attr:`iso_country`.
|
58
|
+
|
59
|
+
.. code-block:: ruby
|
60
|
+
|
61
|
+
@addresses = @client.addresses.list(iso_country: 'AU')
|
62
|
+
@addresses.each do |address|
|
63
|
+
puts address.customer_name
|
64
|
+
end
|
65
|
+
|
66
|
+
Updating an Address
|
67
|
+
-------------------
|
68
|
+
|
69
|
+
All Address attributes other than :attr:`iso_country` can be updated.
|
70
|
+
To create an Address with a different country, see the "Creating an Address" section.
|
71
|
+
|
72
|
+
.. code-block:: ruby
|
73
|
+
|
74
|
+
@sid = 'AD123' # the address you'd like to update
|
75
|
+
@address = @client.addresses.get(@sid)
|
76
|
+
@address.update(customer_name: "Marge Simpson")
|
77
|
+
|
78
|
+
Deleting an Address
|
79
|
+
-------------------
|
80
|
+
|
81
|
+
.. code-block:: ruby
|
82
|
+
|
83
|
+
address_sid = 'AD123'
|
84
|
+
@address = @client.addresses.get(address_sid)
|
85
|
+
@address.delete()
|
86
|
+
|
87
|
+
Listing Dependent Phone Numbers
|
88
|
+
-------------------------------
|
89
|
+
|
90
|
+
Restcomm will not permit you to delete an Address if it is the sole
|
91
|
+
Address resource on your account that satisfies the address requirements
|
92
|
+
for one or more of your purchased phone numbers.
|
93
|
+
|
94
|
+
To see which phone numbers depend on a given address:
|
95
|
+
|
96
|
+
.. code-block:: ruby
|
97
|
+
|
98
|
+
address_sid = 'AD123'
|
99
|
+
@address = @client.addresses.get(address_sid)
|
100
|
+
@address.dependent_phone_numbers.list.each do |number|
|
101
|
+
puts number.sid
|
102
|
+
end
|
@@ -0,0 +1,111 @@
|
|
1
|
+
.. module:: restcomm.rest.resources
|
2
|
+
|
3
|
+
=================
|
4
|
+
Applications
|
5
|
+
=================
|
6
|
+
|
7
|
+
An application inside of Restcomm is just a set of URLs and other configuration
|
8
|
+
data that tells Restcomm how to behave when one of your Restcomm numbers receives
|
9
|
+
a call or message.
|
10
|
+
|
11
|
+
For more information, see the `Application REST Resource
|
12
|
+
<http://docs.telestax.com/restcomm-pages/>`_ documentation.
|
13
|
+
|
14
|
+
|
15
|
+
Listing Your Applications
|
16
|
+
--------------------------
|
17
|
+
|
18
|
+
The following code will print out the :attr:`friendly_name` for each :class:`Application`.
|
19
|
+
|
20
|
+
.. code-block:: ruby
|
21
|
+
|
22
|
+
require 'restcomm-ruby'
|
23
|
+
|
24
|
+
# To find these visit http://docs.telestax.com/restcomm-pages/
|
25
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
26
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
27
|
+
host = "XXX.XXX.XXX.XXX"
|
28
|
+
|
29
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
30
|
+
@client.applications.each do |app|
|
31
|
+
puts app.friendly_name
|
32
|
+
end
|
33
|
+
|
34
|
+
|
35
|
+
Filtering Applications
|
36
|
+
---------------------------
|
37
|
+
|
38
|
+
You can filter applications by FriendlyName
|
39
|
+
|
40
|
+
.. code-block:: ruby
|
41
|
+
|
42
|
+
require 'restcomm-ruby'
|
43
|
+
|
44
|
+
# To find these visit http://docs.telestax.com/restcomm-pages/
|
45
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
46
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
47
|
+
|
48
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
49
|
+
@client.applications.list(friendly_name: 'FOO').each do |app|
|
50
|
+
puts app.sid
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
Creating an Application
|
55
|
+
-------------------------
|
56
|
+
|
57
|
+
When creating an application, no fields are required. We create an application
|
58
|
+
with only a :attr:`friendly_name`. The :meth:`Applications.create()` method
|
59
|
+
accepts many other arguments for url configuration.
|
60
|
+
|
61
|
+
.. code-block:: ruby
|
62
|
+
|
63
|
+
require 'restcomm-ruby'
|
64
|
+
|
65
|
+
# To find these visit http://docs.telestax.com/restcomm-pages/
|
66
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
67
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
68
|
+
host = "XXX.XXX.XXX.XXX"
|
69
|
+
|
70
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
71
|
+
@application = @client.applications.create(
|
72
|
+
friendly_name: "My New App"
|
73
|
+
)
|
74
|
+
|
75
|
+
Updating an Application
|
76
|
+
------------------------
|
77
|
+
|
78
|
+
.. code-block:: ruby
|
79
|
+
|
80
|
+
require 'restcomm-ruby'
|
81
|
+
|
82
|
+
# To find these visit http://docs.telestax.com/restcomm-pages/
|
83
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
84
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
85
|
+
host = "XXX.XXX.XXX.XXX"
|
86
|
+
|
87
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
@application = @client.applications.get(app_sid)
|
92
|
+
@application.update(voice_url: url)
|
93
|
+
|
94
|
+
Deleting an Application
|
95
|
+
-------------------------
|
96
|
+
|
97
|
+
.. code-block:: ruby
|
98
|
+
|
99
|
+
require 'restcomm-ruby'
|
100
|
+
|
101
|
+
# To find these visit http://docs.telestax.com/restcomm-pages/
|
102
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
103
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
104
|
+
host = "XXX.XXX.XXX.XXX"
|
105
|
+
|
106
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
107
|
+
|
108
|
+
app_sid = 'AP123' # the app you'd like to delete
|
109
|
+
@client.applications.get(app_sid)
|
110
|
+
@application.delete()
|
111
|
+
|
@@ -0,0 +1,120 @@
|
|
1
|
+
.. module:: restcomm.rest
|
2
|
+
|
3
|
+
=========================
|
4
|
+
Accessing REST Resources
|
5
|
+
=========================
|
6
|
+
|
7
|
+
To access Restcomm REST resources, you'll first need to instantiate a
|
8
|
+
:class:`Restcomm::REST::Client`.
|
9
|
+
|
10
|
+
Authentication
|
11
|
+
--------------------------
|
12
|
+
|
13
|
+
The :class:`Restcomm::REST::Client` needs your Restcomm credentials. To get
|
14
|
+
your credentials, visit `your Restcomm account portal
|
15
|
+
<http://docs.telestax.com/restcomm-pages/>`_. If you don't have a Restcomm account
|
16
|
+
yet, go `here <http://docs.telestax.com/restcomm-pages/>`_ to get started.
|
17
|
+
|
18
|
+
Once you have your credentials, you can create create a new :class:`Client` and get started.
|
19
|
+
|
20
|
+
.. code-block:: ruby
|
21
|
+
|
22
|
+
require 'restcomm-ruby'
|
23
|
+
|
24
|
+
# To find these visit https://www.restcomm.com/user/account
|
25
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
26
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
27
|
+
host = "XXX.XXX.XXX.XXX"
|
28
|
+
|
29
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
30
|
+
|
31
|
+
You can also configure the client using the top level configure method, like so:
|
32
|
+
|
33
|
+
.. code-block:: ruby
|
34
|
+
|
35
|
+
require 'restcomm-ruby'
|
36
|
+
|
37
|
+
Restcomm.configure do |config|
|
38
|
+
config.account_sid = "ACXXXXXXXXXXXXXXXXX"
|
39
|
+
config.auth_token = "YYYYYYYYYYYYYYYYYY"
|
40
|
+
host = "XXX.XXX.XXX.XXX"
|
41
|
+
end
|
42
|
+
|
43
|
+
@client = Restcomm::REST::Client.new
|
44
|
+
|
45
|
+
|
46
|
+
Listing Resources
|
47
|
+
-------------------
|
48
|
+
|
49
|
+
The :class:`Client` gives you access to various list resources.
|
50
|
+
:meth:`ListResource.list`, by default, returns the most recent 50 instance resources.
|
51
|
+
|
52
|
+
.. code-block:: ruby
|
53
|
+
|
54
|
+
require 'restcomm-ruby'
|
55
|
+
|
56
|
+
# To find these visit https://www.restcomm.com/user/account
|
57
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
58
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
59
|
+
host = "XXX.XXX.XXX.XXX"
|
60
|
+
|
61
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
62
|
+
@calls = @client.calls.list()
|
63
|
+
|
64
|
+
:meth:`ListResource.list` accepts paging arguments.
|
65
|
+
The following will return page 3 with page size of 25.
|
66
|
+
|
67
|
+
.. code-block:: ruby
|
68
|
+
|
69
|
+
require 'restcomm-ruby'
|
70
|
+
|
71
|
+
# To find these visit https://www.restcomm.com/user/account
|
72
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
73
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
74
|
+
|
75
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
76
|
+
@calls = @client.calls.list(page: 3, page_size: 25)
|
77
|
+
|
78
|
+
|
79
|
+
Get an Individual Resource
|
80
|
+
-----------------------------
|
81
|
+
|
82
|
+
To get an individual instance resource, use :meth:`ListResource.get`.
|
83
|
+
Provide the :attr:`sid` of the resource you'd like to get.
|
84
|
+
|
85
|
+
.. code-block:: ruby
|
86
|
+
|
87
|
+
require 'restcomm-ruby'
|
88
|
+
|
89
|
+
# To find these visit https://www.restcomm.com/user/account
|
90
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
91
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
92
|
+
host = "XXX.XXX.XXX.XXX"
|
93
|
+
|
94
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
95
|
+
|
96
|
+
@call = @client.calls.get("CA123")
|
97
|
+
puts @call.to
|
98
|
+
|
99
|
+
|
100
|
+
Deleting a Resource
|
101
|
+
-------------------------------
|
102
|
+
|
103
|
+
Resources can only be deleted via their instance object. This means
|
104
|
+
you must instantiate an instance object using :meth:`ListResource.get`
|
105
|
+
and then call :meth:`delete` on it.
|
106
|
+
|
107
|
+
.. code-block:: ruby
|
108
|
+
|
109
|
+
require 'restcomm-ruby'
|
110
|
+
|
111
|
+
# To find these visit https://www.restcomm.com/user/account
|
112
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
113
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
114
|
+
host = "XXX.XXX.XXX.XXX"
|
115
|
+
|
116
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
117
|
+
|
118
|
+
@recording = @client.recordings.get("RC123")
|
119
|
+
@recording.delete()
|
120
|
+
|
@@ -0,0 +1,47 @@
|
|
1
|
+
.. module:: restcomm.rest.resources
|
2
|
+
|
3
|
+
=================
|
4
|
+
Caller Ids
|
5
|
+
=================
|
6
|
+
|
7
|
+
|
8
|
+
Validate a Phone Number
|
9
|
+
-----------------------
|
10
|
+
|
11
|
+
Validating a phone number is quick and easy.
|
12
|
+
|
13
|
+
.. code-block:: ruby
|
14
|
+
|
15
|
+
require 'restcomm-ruby'
|
16
|
+
|
17
|
+
# To find these visit https://www.restcomm.com/user/account
|
18
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
19
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
20
|
+
|
21
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token
|
22
|
+
@response = @client.outgoing_caller_ids.create(
|
23
|
+
phone_number: "+44 9876543212"
|
24
|
+
)
|
25
|
+
puts @response.validation_code
|
26
|
+
|
27
|
+
Restcomm will call the provided number and wait for the validation code to be
|
28
|
+
entered.
|
29
|
+
|
30
|
+
Delete a Phone Number
|
31
|
+
---------------------
|
32
|
+
|
33
|
+
Deleting a phone number is quick and easy.
|
34
|
+
|
35
|
+
.. code-block:: ruby
|
36
|
+
|
37
|
+
require 'restcomm-ruby'
|
38
|
+
|
39
|
+
# To find these visit https://www.restcomm.com/user/account
|
40
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
41
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
42
|
+
|
43
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token
|
44
|
+
|
45
|
+
@response = @client.outgoing_caller_ids.list(phone_number: "+15555555555")
|
46
|
+
@callerid = response[0]
|
47
|
+
@callerid.delete()
|
@@ -0,0 +1,112 @@
|
|
1
|
+
.. module:: restcomm.rest.resources
|
2
|
+
|
3
|
+
==============================
|
4
|
+
Conferences and Participants
|
5
|
+
==============================
|
6
|
+
|
7
|
+
For more information, see the `Conference REST Resource <http://docs.telestax.com/restcomm-pages/>`_
|
8
|
+
and `Participant REST Resource <http://docs.telestax.com/restcomm-pages/>`_ documentation.
|
9
|
+
|
10
|
+
|
11
|
+
Listing Conferences
|
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
|
+
@conferences = @client.conferences.list()
|
25
|
+
|
26
|
+
@conferences.each do |conference|
|
27
|
+
puts conference.sid
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
Filtering Conferences
|
32
|
+
-----------------------
|
33
|
+
|
34
|
+
The :meth:`Restcomm::REST::Conferences.list` method supports filtering on :attr:`status`,
|
35
|
+
:attr:`date_updated`, :attr:`date_created` and :attr:`friendly_name`. The following code
|
36
|
+
will return a list of all in-progress conferences and print their friendly name.
|
37
|
+
|
38
|
+
.. code-block:: ruby
|
39
|
+
|
40
|
+
require 'restcomm-ruby'
|
41
|
+
|
42
|
+
# To find these visit http://docs.telestax.com/restcomm-pages/
|
43
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
44
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
45
|
+
host = "XXX.XXX.XXX.XXX"
|
46
|
+
|
47
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
48
|
+
@conferences = @client.conferences.list(status: "in-progress")
|
49
|
+
|
50
|
+
@conference.each do |conference|
|
51
|
+
puts conference.friendly_name
|
52
|
+
end
|
53
|
+
|
54
|
+
|
55
|
+
Listing Participants
|
56
|
+
----------------------
|
57
|
+
|
58
|
+
Each :class:`Conference` has a :attr:`participants` instance which represents all current users in the conference
|
59
|
+
|
60
|
+
.. code-block:: ruby
|
61
|
+
|
62
|
+
require 'restcomm-ruby'
|
63
|
+
|
64
|
+
# To find these visit http://docs.telestax.com/restcomm-pages/
|
65
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
66
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
67
|
+
host = "XXX.XXX.XXX.XXX"
|
68
|
+
|
69
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
70
|
+
@conference = @client.conferences.get("CF123")
|
71
|
+
|
72
|
+
@conference.participants.list.each.do |paricipant|
|
73
|
+
puts participant.sid
|
74
|
+
end
|
75
|
+
|
76
|
+
:class:`Conferences` and :class:`Participants` are subclasses of :class:`ListResource`.
|
77
|
+
Therefore, their instances have the inherited methods such as :meth:`count`.
|
78
|
+
|
79
|
+
|
80
|
+
Managing Participants
|
81
|
+
----------------------
|
82
|
+
|
83
|
+
Each :class:`Conference` has a :attr:`participants` function that returns a
|
84
|
+
:class:`Participants` instance. This behavior differs from other list resources
|
85
|
+
because :class:`Participants` needs a participant sid AND a conference sid to
|
86
|
+
access the participants resource.
|
87
|
+
|
88
|
+
Participants can be either muted or kicked out of the conference. The following
|
89
|
+
code kicks out the first participant and mutes the rest.
|
90
|
+
|
91
|
+
.. code-block:: ruby
|
92
|
+
|
93
|
+
require 'restcomm-ruby'
|
94
|
+
|
95
|
+
# To find these visit http://docs.telestax.com/restcomm-pages/
|
96
|
+
account_sid = "ACXXXXXXXXXXXXXXXXX"
|
97
|
+
auth_token = "YYYYYYYYYYYYYYYYYY"
|
98
|
+
host = "XXX.XXX.XXX.XXX"
|
99
|
+
|
100
|
+
@client = Restcomm::REST::Client.new account_sid, auth_token, host
|
101
|
+
@participants = @client.conferences.get("CF123").participants.list()
|
102
|
+
|
103
|
+
return if @participants.empty?
|
104
|
+
|
105
|
+
# Kick the first person out
|
106
|
+
@participants.pop().kick()
|
107
|
+
|
108
|
+
# And mute the rest
|
109
|
+
@participants.each do |participant|
|
110
|
+
participant.mute()
|
111
|
+
end
|
112
|
+
|