We are building our IVR on PlumDev and Python (Flask; requests library).
One of our IVR tree's branches is a simple voicemail option which will submit the voice recording back to our app's route /record/upload.
Here is the VXML form for this piece:
Code: Select all
<vxml xmlns="http://www.w3.org/2001/vxml" application="/root.vxml" version="2.0">
<form id="fetch_record_menu">
<block>
<prompt>
At the tone, please record your message. When you have finished, press the pound key.
</prompt>
</block>
<record name="voicemail" type="audio/x-wav" beep="true" maxtime="120s" finalsilence="4000ms" dtmfterm="true"/>
<block>
<submit namelist="dnis ani session_id voicemail" next="/record/upload" enctype="multipart/form-data" method="post"/>
</block>
</form>
</vxml>
https://www.plumvoice.com/docs/dev/voicexml:tags:record
https://www.plumvoice.com/docs/dev/voicexml:tags:submit
https://www.plumvoice.com/docs/dev/deve ... taexchange
I also noticed our app gets HTTP EXPECT 100-Continue which appears to be something that we need to handle; no mention of this in Flask docs or help on StackOverflow. From what I have found this behavior is undocumented. We have been unable to find solutions to work with/around this because without the values in the namelist our app will not have context of which call any particular voicemail recording maps back to.
Hoping someone can chime in and help us out. Thanks,
-B