We are building our IVR with PlumDev and Python (Flask and the popular requests library).
One of our IVR tree branches is a simple voicemail option. It is supposed to ask Plum to submit the recording back to our app's /record/upload route.
Here is the VXML form for the record portion:
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>
We do not appear to be receiving the full name list being sent across in the POST:
dnis ani session_id voicemail
The only thing we see in the POST Request is Headers:
Content-Type multipart/form-data; boundary=------------------------cba3071c49f9e99b
The information in the namelist (dnis, ani, session_id) is very important for us to receive back in order to coorelate a voicemail with a particular DID and CallerId which is a major part
of our whole user experience.
Another issue: I noticed the HTTP Header: Expect-100 Continue and from my research on this our understanding is that Plum is awaiting a confirmation to send the full payload/file.
Is there any documentation around how to best handle this? The only useful information I've found so far regarding HTTP Expect-100 is from these links.
1. We are not getting the voicemail recording.
2. The namelist in the HTTP POST is missing important information.
3. How is 100-continue expected to be used in the context or <Record>?
Hoping your team can help, thanks!