collect ivr digits pressed

eman

New Member
Jan 9, 2024
13
0
1
26
Hi everyone,


I’ve set up a multi-step IVR system in FreeSWITCH where the user responds to three questions by pressing digits (1–5). I want to collect these digit responses and send them to a LimeSurvey instance using a Lua script (survey.lua).


The IVRs are structured in a chain (e.g. 1002, 1003, 1004), and the final IVR (1005) is just a thank-you message and triggers the Lua script to send all collected responses.


My current challenge is:
How do I correctly capture the digits pressed in each IVR (e.g., using ${ivr_digit_pressed} or another method), save them as session variables like answer1, answer2, etc., and then access those variables inside survey.lua to send them to LimeSurvey using the add_response method?


If anyone has experience with:


  • Storing IVR responses between steps
  • Using Lua in FreeSWITCH to collect and post responses
  • Properly mapping to LimeSurvey SGQ IDs (like 845551X1X1, etc.)

...I’d really appreciate your guidance or examples.