Twilio not detecting my DTMF tones from Skype.
We have setup an IVR system with twilio whereby clients must enter a
7 digit client number.
Some of our clients phone from voip phones,
therefore we need to ensure that twilio can detect the DTMF tones
properly (most use Skype so that is our primary concern right now).
Twilio IVR detects tones fine from mobile or landline phones.
Calling other IVR systems from our Skype clients works just fine
Entered a support case w/ Twilio but so far they have not been helpful so I'd like to poll the StackOverflow community.
Versions of Skype tested (at various different physical locations):
Skype version 7.4.0.104 on Windows 8
Skype version 8.11.0.4 on MAC OSX Sierra
To make matters more confusing for us, about 20% of the calls that we make via Skype it DOES accept the tones. The other 80% of the time the calls are not recognizing the tones.
We believe this to be a problem with either Twilio accepting DTMF tones from voip phones OR something that is running inconsistently in our Twilio scripting. Because we can dial other IVR systems and enter codes fine with Skype, it doesn't appear to be a problem with Skype.
In our TwiML voice scripting we are using GATHER. Here is a sample of our gather code:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Gather action="clientcode.jsp" timeout="15">
<Say>Please enter your client code.</Say>
</Gather>
<Redirect method="GET">gatherfields.jsp</Redirect>
</Response>
Any advice or direction to point us in is helpful.
I had the same issue for several months. After a laborious but fruitful exchange with Skype Support (Virtual Assistant, subsequent email exchanges with several Skype Support people, Remote Desktop Control, etc!) the support team eventually figured out that there is an issue with the Subtitles Function. They have now updated the FAQ here:
https://support.skype.com/en/faq/FA34713/faq-and-known-issues-with-skype
When making a call and using the Dial Pad to select the option for Touch Tones, they will not work if you have subtitles enabled on the call.
To workaround this issue simply disable subtitles: Select your profile picture > Settings > Calling > Call Subtitles, then turn off the option to Show subtitles for all voice and video calls.
Note: If you don't have the option turned on to Show subtitles for all voice and video calls but have turned subtitles on for an individual call, starting a new call with your contact will resolve this issue.
Also, when you are using the iOS Skype app to test this, open the app and do the DTMF in the Skype app's keypad. Don't use the iOS default call, it won't work.
Related
I have a Twilio number
I have a TwiML app (3rd party web app)
I have a SIP phone (configured to a SIP domain)
I have a regular mobile phone
I know Twilio is very powerful, but also complex. I try to find out how I can achieve one of the following scenarios:
All phones should ring simultanously
If one phone is picked up
Other phones should stop ringing
I am quite sure, that this could be done. But I do not know how?
It is not important, which Tools used (Studio, Functions, TwiML, Google Code, or a mix of these...)
First I thought I can do this completely in Studio. I know I can ring multiple PSTN phones together, but how can I solve that with different types of phones.
Can someone please point mein the right direction? Maybe there is some "tutorial" or example code, I did not found
I'm not sure if Studio can handle making calls simultaneously to SIP and regular phones, but you can definitely achieve this with TwiML.
To ring more than one phone at a time, you use the <Dial> verb and nest the endpoints that you want to dial within. For dialling a regular phone you can use <Number> and for dialling a SIP phone you can use <Sip>.
<Response>
<Dial>
<Number>YOUR_MOBILE_PHONE_NUMBER</Number>
<Sip>sip:username#exampl.com</Sip>
</Dial>
</Response>
The documentation for parallel calling with Sip does note that:
In order to use the SIP Parallel Calling Twilio feature, you must enable the "Enhanced Programmable SIP Features" in your Voice settings in the Console.
I've been reading Twilio docs lately and been confused between "Twilio Client" and "Twilio Video".
I noticed that tutorials for "Twilio Client" involves registering phone numbers while the beta "Twilio Video" would not need one (after doing the tutorial) for browser-to-browser audio only call.
I would like to wrap via Phone Gap a nodejs app that has audio call only (no numbers being dialled but rather identity). (android phonegap app for now since iOS does not support webrtc yet)
Am I correct that I should be experimenting on "Twilio Video" instead of "Twilio Client". From the docs they both support WebRTC but somehow "Twilio Client" needs numbers or maybe I'm missing something.
Thank you for your input.
Twilio developer evangelist here.
The difference between Twilio Client and Twilio Video when making audio calls is very much around phone numbers. Twilio Client has the ability to make app to phone network calls and to receive calls from real phones. Twilio Video does not have those abilities, it is purely for app to app calling.
Twilio Video will likely have better quality audio though, as Twilio Client gets downsampled so that it will work over phone networks.
It's likely that Twilio Video would be cheaper for your app to app use case as well. Twilio Client is priced by the minute and Twilio Video pricing is more to do with currently connected endpoints as the connection, if it is peer to peer, costs nothing.
Let me know if that helps at all.
Twilio Product Marketer here just to add on to what Phil provided.
We provide two separate real time communications SDKs: our Programmable Video SDKs as well as our Client SDKs. Video, which we launched last year, provides both voice and video capabilities (or either combination there of) and media flows in a peer-to-peer or TURN relayed call topology. As Phil mentioned, this SDK uses a newer codec (VP8& H.264) that can provide HD audio & video and is also more resilient to packet loss and challenging network conditions. Our Video SDKs do not have media server capabilities yet like recording, connecting to the phone network, or scaling beyond about 4 participants. But stay tuned... :)
Our Client SDK which we've had since 2011 supports voice only and all media flows through Twilio's cloud infrastructure, not peer-to-peer. Our Client SDKs (iOS, Android, and JavaScript) support recording, connecting to the phone network, and large conferences. However, this SDK doesn't support video and uses the G.711 codec.
I recently integrated twillo iOS SDK in my iPhone app and it is working fine for native call it means i can make call from app to any verified phone numbers.
But my requirement is app to app call it means there is no native call.
So i would like to know if by using Twillio SDK, is it possible to call from application to application ? Something similar to whatsApp. So there will not be any phone number but both phones must have our apps with Twillio SDK integrated.
Please Help me.
Thanks.
Twilio developer evangelist here.
You absolutely can do app to app calls using the iOS SDK. Let me explain.
Your Twilio Client capability token is created with a TwiML Application, which supplies the URL that Twilio will hit when a call is created to find out what to do with it. Normally, you would pass a phone number as a parameter to your TCDevice's connect which would be handed to your app URL when the call connects. This would then be used to produce TwiML to direct the call onto that number, like this:
<Response>
<Dial>
<Number>{{ to_number }}</Number>
</Dial>
</Response>
To make this work for client to client calls, you can pass another client ID to the URL and on your server, instead of <Dial>ing to a <Number> you would <Dial> to a <Client>. Like so:
<Response>
<Dial>
<Client>{{ client_id }}</Client>
</Dial>
</Response>
You can discover which clients are available by listening for presence events with your TCDevice object. You will also have to handle incoming calls within applications.
I recommend following the Twilio Client iOS Quickstart guide all the way through, which will guide you through most of these points, including passing parameters to your application URL and generating the right TwiML to accomplish this (though it doesn't cover presence events).
Let me know if this helps at all.
Not sure it is possible with Twilio. We have used twilio for the same purpose u mentioned (Call to phone numbers) and was working fine. I think the main purpose of twilio is that. Anyways i'm not sure about it.
May be VoIP will suit for your functionality. PortSIP is a good SDK for voice and video communications between apps.
You can download the iOS SDK from here https://www.portsip.com/downloads-center/
It is payable like Twilio only if you want to use it for business.
For more refer here
Thanks.
Twilio support sip now. you must have some setting with your twilio account.
As I know ,you can follow here to set your twilio sip server and implement sip client on your ios client.
I have a question and I need to know if this Twilio integration is possible.
My client needs to keep the same business phone number (as it is marketed and printed in all advertisement).
She has a landline phone handset which is connected to ATT&T with the business phone number, but we have a different number for tech support.
I want to be able to integrate Twilio so that it works like this:
1.Client calls studio phone number
2. Twilio receives the call and presents a (press 1 to speak with the front desk, press 2 to speak with tech support prompt)
3. They press 1 and the studio phone handset rings and the front desk rep is able to take the call.
3a. They press 2 and they are connected to our tech support number.
Please help. If you need any more clarification, please let me know. Thank you.
Twilio evangelist here.
It sounds like the best approach here is to port the business phone number into Twilio. This would let Twilio answer the incoming phone calls and execute your IVR for the callers, which solves steps 1 and 2 in your workflow.
For step 3, if you port the business phone number to Twilio then you'll need to find some other way to make the landline phone in the business ring since it won't have a phone number any more. There are a few ways to do this:
You could get a new phone number from AT&T that rings her landline.
You could go VoIP and build a Twilio Client application hosted either in web browser or a native iPhone or Android app.
With either of these options, from when the user selects option 1 in your IVR, you would just use the <Dial> verb to have Twilio make an outbound connection (either to the new landline number or to the Client instance name) and Twilio will bridge the incoming customers call with that outbound call.
Hope that helps.
I've spent days now searching for a way to route calls from an iOS application through a voip server to mobile number or fixed landline number (or send an SMS)... Essentially like voIP-GSM
I want to essentially have a similar system set up to Skype but with out the other user having the app, just directly call someone's phone using your data/wifi rather than your limited voice minutes or numbers if SMS.
One company who I know of that has worked out how to do this is: http://callsfreecalls.com/
I don't just want app-app communication like from twilio or rebtel!!
1) Would Asterisk or PJSIP help me in any way?
2) Would there be anyway I could do this all for free?
3) Will I have to create my own VoIP network or SIP server??
4) Will I be able to accomplish all this and put it into an iOS app?
Any ideas or help would be much appreciated. Thank you
Twilio evangelist here.
With Twilio Client you can make a VoIP connection from a mobile app into Twilio, then route that to any other number (mobile or landline). You are not restricted to app-to-app only calls.
When you create a Capability Token for Twilio Client, one of the parameters you can pass it is a TwiML Application SID. That TwiML Application maps to a URL that you can use to return TwiML instructions that Twilio will execute when a user initiates an outbound call from your iOS app. In those instructions, you can use the <Dial> verb to tell Twilio to dial a regular phone number, which we will bridge to the Twilio Client connection.
Hope that helps.