private void ParkCall(ManagedSession session, string parkingSpace)
 {
     ParkingLot.ParkedCalls[parkingSpace] = session.uuid;
     session.HangupFunction = () => HandleHangup(parkingSpace);
     Log.WriteLine(LogLevel.Info, string.Format("Park: {0}.", parkingSpace));
     session.Answer();
     session.sleep(500, 0);
     session.SetTtsParameters("cepstral", "allison");
     session.Speak("Holding on extension " + parkingSpace+"<break time='1s' />");
     session.sleep(500, 0);
     session.StreamFile("local_stream://moh", -1);
 }
 private void UnParkCall(ManagedSession session)
 {
     string parkingSpace = session.GetVariable("destination_number");
     string parkedCallUuid =ParkingLot.ParkedCalls[parkingSpace];
     session.Answer();
     session.sleep(500, 0);
     session.SetTtsParameters("cepstral", "allison");
     session.Speak("Connecting you.");
     session.Execute("intercept", string.Format("{0}", parkedCallUuid));
     ParkingLot.ParkedCalls.Remove(parkingSpace);
 }
        public void Run(AppContext context)
        {
            Session = context.Session;
            Session.Answer();
            Session.SetTtsParameters("flite", "kal");
            Session.sleep(1000, 0);

            var questionnaireService = new VoiceQuestionnaireService(
                                            Session, InvalidAudioFile,
                                            PhraseStart, RecordLocation);

            var phoneNumber = questionnaireService
                .AskAndVerifyQuestion(
                9, 11, 3, 10000, "#", "enter_phone_number",
                x => "you_entered_phone_number:" + x, "\\d+", _ => true);

            var nameRecordingFile = questionnaireService
                    .AskRecordAndVerifyQuestion(
                    "record_name", x => "verify_recording:" + x,
                    string.Format("{0}_{1}_{2}", Session.Uuid, DateTime.UtcNow.ToString("MMddyyyy"), phoneNumber));
        }