I am trying to use Twilio (still in testing phase / trial account) to ask questions like a survey. I found the tutorial on how to create context base answers but I can not figure out how to get it to ask a second question.
The following code is PHP from their tutorial.
include('Services/Twilio.php');
/* Controller: Match the keyword with the customized SMS reply. */
function index(){
    $response = new Services_Twilio_Twiml();
    $response->sms("Reply with one of the following keywords: 
monkey, dog, pigeon, owl.");
    echo $response;
}
function monkey(){
    $response = new Services_Twilio_Twiml();
    $response->sms("Monkey. A small to medium-sized primate that 
typically has a long tail, most kinds of which live in trees in 
tropical countries.");
    echo $response;
}
function dog(){
    $response = new Services_Twilio_Twiml();
    $response->sms("Dog. A domesticated carnivorous mammal that 
typically has a long snout, an acute sense of smell, and a barking, 
howling, or whining voice.");
    echo $response;
}
function pigeon(){
    $response = new Services_Twilio_Twiml();
    $response->sms("Pigeon. A stout seed- or fruit-eating bird with 
a small head, short legs, and a cooing voice, typically having gray and
white plumage.");
    echo $response;
}
function owl(){
    $response = new Services_Twilio_Twiml();
    $response->sms("Owl. A nocturnal bird of prey with large 
forward-facing eyes surrounded by facial disks, a hooked beak, 
and typically a loud call.");
    echo $response;
}
/* Read the contents of the 'Body' field of the Request. */
$body = $_REQUEST['Body'];
/* Remove formatting from $body until it is just lowercase 
characters without punctuation or spaces. */
$result = preg_replace("/[^A-Za-z0-9]/u", " ", $body);
$result = trim($result);
$result = strtolower($result);
/* Router: Match the ‘Body’ field with index of keywords */
switch ($result) {
    case 'monkey':
        monkey();
        break;
    case 'dog':
        dog();
        break;
    case 'pigeon':
        pigeon();
        break;
    case 'owl':
        owl();
        break;
/* Optional: Add new routing logic above this line. */
    default:
        index();
}
Could I wrap this code in a function, call the function immediately, then call another function inside one of the functions? I tried this and it never gets to the second questions. For example:
Someone sends a text to the number. They get the animal question, they answer "dog", get the response and then I want it to go to function question2().
function question1(){
function dog(){
    $response = new Services_Twilio_Twiml();
    $response->sms("Dog. A domesticated carnivorous mammal that 
typically has a long snout, an acute sense of smell, and a barking, 
howling, or whining voice.");
    echo $response;
question2();
}
switch code...
}
function question2(){
#another question answer set here leading to more questions based on answers.
}
question();
Any help is appreciated. I know there are platforms for this but I want to see how manually building something like this works out.
Thanks, Eric
EDIT: Clarification. I want to have a flow of questions based on responses. When someone answers a question, I want to provide a response and then ask a second, third, fourth question.
 
     
    