Browse files

Add recordings tutorial content and add new tuts to menu

  • Loading branch information...
Kevin Burke
Kevin Burke committed Oct 15, 2012
1 parent 6f76e15 commit 4d5c8f9a4dbe9d6da27cd027b99765104e9ad94a
Showing with 66 additions and 8 deletions.
  1. +4 −4 docs/browser.rst
  2. +2 −2 docs/
  3. +58 −0 docs/recording.rst
  4. +2 −2 docs/sms_feedback.rst
@@ -184,7 +184,7 @@ current call, and dial the next person in the queue.
<?xml version="1.0" encoding="UTF-8"?>
- <Dial finishOnKey="#">
+ <Dial hangupOnStar="true">
@@ -217,13 +217,13 @@ Now, we can add a new function, called ``next()``:
function next() {
if (connection) {
- connection.sendDTMF("#");
+ connection.sendDTMF("*");
-Because we added a `finishOnKey` attribute to our TwiML, sending a "#" symbol
+Because we added a `hangupOnStar` attribute to our TwiML, sending a "*" symbol
via DTMF tone will hang up on the current caller, and connect the browser to
-the next caller.
+the next caller.
Now we just need to add another button to trigger the hangup.
@@ -26,6 +26,6 @@ Unlocking the Box
- queue
- callcenter
+ sms_feedback
+ recording
@@ -0,0 +1,58 @@
+.. _recording:
+Call Recording
+To help our DJ improve his manners on the phone, let's record all of the
+incoming calls to our Queue.
+Many states have laws about letting the party know that they are being
+recorded. So let's add a short message before the call, letting the calling
+party know that we are recording the call.
+We need to alter the TwiML that plays on the DJ's side to `add a url attribute`_.
+This URL will hold TwiML telling the caller they are about to be recorded.
+We're also going to add ``record="True"`` to the Dial verb, to record the call.
+.. code-block:: xml
+ :emphasize-lines: 3,4
+ <?xml version="1.0" encoding="UTF-8"?>
+ <Response>
+ <Dial record="true" hangupOnStar="true">
+ <Queue url="/record-message">radio-callin-queue</Queue>
+ </Dial>
+ <Redirect></Redirect>
+ </Response>
+Then at the ``/record-message`` route, place the following TwiML:
+.. code-block:: xml
+ <?xml version="1.0" encoding="UTF-8"?>
+ <Response>
+ <Say>This call is being recorded.</Say>
+ </Response>
+.. _add a url attribute:
+That's it! Now all of your incoming calls will be recorded. To listen to the
+recorded calls, go to the `Recordings page of your Twilio Dashboard`_.
+.. _Recordings page of your Twilio Dashboard:
+Advanced Features
+That's the end of the content for this tutorial. If you still have some time,
+try implementing some of these advanced features:
+- Listen to your recordings straight from your Dashboard.
+- Export your recordings to a private S3 folder, and delete the Twilio copies
+ of the recording.
+- Set up monitoring of your application, so that you receive notifications if
+ your application becomes unreachable.
+- Set up HTTP Authentication so that Twilio must authenticate before reading
+ TwiML from your server, and other browsers will receive a 401 Forbidden
+ message.
@@ -3,7 +3,7 @@
SMS Feedback
-We've set up a basic call in line. Let's say we want to keep the dialogue going
+We've set up a basic call-in line. Let's say we want to keep the dialogue going
with our callers a little more. We are going to send an SMS to callers after
they get off the line.
@@ -76,7 +76,7 @@ our SMS messages.
var getSMSMessages = function() {
- $.getJSON('messages.json', function(result) {
+ $.getJSON('/inbound-sms', function(result) {
var msgs = result.messages;
for (var i = 0; i < msgs.length; i++) {
var msg = msgs[i];

0 comments on commit 4d5c8f9

Please sign in to comment.