How to leave Voice mail using Twilio? - salesforce

I'am trying to send recorded messages to phone numbers using twilio & salesforce. The problem i am facing that some times the call is going to Voice mail and the message is not getting recorded as the voice mail recording starts after a certain time. How can twilio manage to monitor that time and play the message after the voice mail starts recording.
Now i know that the voice mail recording system uses a beep before it starts recording. Can i use that DTMF tone to instruct twilio to start playing the recorded message.

Twilio developer evangelist here.
Twilio is able to do some, experimental, checking for answering machines such that it will only start playing after it hears a beep. You can see how to do this in the documentation here. Basically, you need to pass an ifMachine parameter of "Continue". You will then get an "AnsweredBy" parameter in calls to your TwiML so that you can decide what to do. If you do continue, Twilio will wait for the beep.
Let me know if that helps!
Update
The ifMachine parameter has been deprecated and replaced with the new Twilio Answering Machine Detection.
Now you can pass a parameter called MachineDetection with the argument Enable or DetectMessageEnd. Enable tries to give you an answer as soon as possible, passing the result to the TwiML webhook within the AnsweredBy parameter. DetectMessageEnd will call the webhook once the voicemail message has finished playing.

Related

Monitor Twilio Voice Call Status

I am implementing the Twilio Programmable Voice to allow Outgoing calls to phone numbers from my Website.
I want to display a timer after the call has been picked by the client but I can't figure out how to monitor the status of a call in React.
Twilio Docs - .status() can be used to get the current status of the call.
They have the following endpoint status() which can be used but in this case, should I create a function which keeps on checking the status of the call somehow until it reaches the accepted state?
Is there a way I can track this?
Twilio developer evangelist here.
The best way to track the status of a Twilio Client call at the moment is via the webhook status callbacks that you can set up in TwiML. This means you need to somehow send the data from the webhook to your client, but it is more accurate than polling.
Alternatively, you could just set up a setInterval to check every 100ms, for example, and set your state, cancelling the interval when it is the correct state.

How does wakeword work in alexa voice service javaclient sample?

I found that there are some wording "wakewordAgentEnabled" found in alexa voice service javaclient sample but when I run the program and android companion app, it shows a "Listen" button, it works properly, but how to call the wakeword "Hey Alexa" instead of using the "Listen" button?
Actually, I would like to use the logic of wakeword in Android app, so no need to click a button.
Is the sample support wakeword?
Is it needed to work with the Kitt-AI snowboy together?
From what I understand (I work in the Alexa org at Amazon) the reason the Echo can respond to wake words ('Alexa' 'Amazon' and 'Echo') is actually hardware in the device that opens up the connection. In order to obtain this on another device such as an Android phone you would actually need to constantly be listening, converting speech to text, and validating text for the wake word which would be very resource intensive and a large power drain. To reduce that drain it is just a button to open the connection.

Delay in receiving emails

Currently, we are using one Gmail API to receive MFA through Email. We are using this in automated tests to read to code.Until yesterday we are receiving emails in seconds and we are able to read the code. But starting from today there is some delay in receiving an Email and sometimes the email is not been received.
Is there any way to check these logs? Can anyone help with this?
Well, if you experienced some delay, based on this documentation there can be a delay of several minutes if the user exceeds their quota. You can also try to use the Users.messages: get to get the specific message and check if it has some delay in receiving.
I found here a related SO question about your problem. So just check it if it can help you. It uses IMAP for this issue.

Creating a message in an Inbox by Gmail thread via Gmai API

Steps to reproduce:
Send a message from Inbox
Create a 2nd message in that same thread using Gmail API's "insert" method
Delete the first message either from the API or from Gmail (but really delete it, not just put it into trash)
Result: the 2nd message seems to get somehow disconnected from the thread and Inbox acts weirdly on it (see video if curious -- the weird behaviour itself starts at 2:10).
Bug or feature?
How to avoid it?

How to request read receipt with Google App Engine

I have a GAE application which sends out email to my domain users in a Google Apps for Business environment. I am using JavaMail as described in this article. Unfortunately I can't seem to find a way to ask for a read receipt. I looked at Message methods but nothing seems to suggest that it is possible. Thanks a lot.
If you're interested in knowing if a mail bounced, then use bounce notification https://developers.google.com/appengine/docs/java/mail/bounce
For read receipts:
As far as I'm aware, you need to roll your own read receipt functionality. For example: Include an image(with a unique url) in the mail you send out. When the recipient opens the mail, the image is retrieved and you can determine whether the mail has been read. This has it's downsides; if they don't have images enabled, then you won't receive the notification.
You need to set the appropriate headers on your message, as described in Message Disposition Notification - RFC 3798. Not all mailers will honor MDNs, so you might find the tracking pixel useful as well. But then some mailers won't display remote images, so in the end there's no guaranteed way of getting notified when a message is read.

Resources