Asterisk FastAGI sending command at the same time - asterisk

I was using Asterisk.Net for my AGI and my asterisk server can accept a command which convert the voice to text (http://zaf.github.io/asterisk-speech-recog/). Now, I want to perform two commands at the same time which is the wait for digit and the voice to text so that it can accept key press and voice for authentication. How can I achieve this or it is possible to do?

For now only way is create record application with dtmf collect. Need c/c++ experience.

Related

IVR call simulation on Asterisk 15 server

I am using Asterisk 15 server and wanted to configure IVR call simulation. My configuration scenario is
1. A subscriber will register to Asterisk server and start a call.
2. The IVR audio will come from the Asterisk sever to sbscriber.
3. Once the subscriber pressed the botton, the call will connect to a number based on DTMF digit pressed by subscriber. Then call will continue for 30 seconds.
I observered for normal call pjsip.conf file is used for configuration of a subscribers.
Could you please help me on below queries ?
1. Which file we need to configure for the IVR call simulation ?
2. Please suggest a good documentation for IVR simulation.
Files are extensions.conf and pjsip.conf/sip.conf
You have read book for beginner, for example "Asterisk the future of telephony".
After that write dialling core or reuse vicidial.org or other core and write dialplan in extensions.conf for you ivr.
What you tried to do usually called "press-1 outbound dialling campaign"

Accept user input while two calls are patched with dial extension

I have an executive and incoming caller. I patched their call in Asterisk using the dial command, but how can I to receive the inputi.e DTMF from the caller?
You should look at features.conf. It contains examples for:
dynamic features
These dynamic features can be triggered by in-call DTMF.

Asterisk AMI - How to simulate a DTMF sending action over AMI

I am building an application in Asterisk , which has to simulate the phone keypress action i.e DTMF. For instance , if a caller calls a number and the IVR requires to press a digit , the application (say a webpage) should also be able to simulate the same key press. I tried the following:
- I have a web application that triggers PlayDTMF action over AMI to simulate the key press on the caller channel. Unfortunately this didn't work , as it played the DTMF digit on the channel (the keypress could be heard) but asterisk didn't receive the DTMF. It was just playing the DTMF, which is what the AMI action was designed for. I technically need to "send" the DTMF digit on the channel.
- the sendDTMF function in asterisk couldn't be used either,as it is a dialplan function and I need a AMI action to trigger DTMF from an external source.
A similar issue was reported sometime back: Asterisk AMI: DTMF not received on SIP channel
I am using Asterisk 11. Is there a way to implement the above using AMI/AGI? Or do i need to further upgrade my Asterisk to 12 to make use of ARI?
Appreciate your inputs.
I managed to simulate the DTMF action , by Dialing/Originating out to a local context and using the outgoing bridging channel id for DTMF input. So the flow is :
call lands on Asterisk -> Asterisk Dials out to a Local context -> The dialout creates a bridging event which has the outgoing channel id(store in some DB) -> The local context can have the IVR flow and using the stored channel and PLayDTMF action - dtmf digits can be inserted. Not sure if there is a more elegant solution to this!

Capture and play voice with Asterisk ARI

There are Channel ARI Demo in wich we can control channel state: ring, answer, play silence, play some tone or audio-file (https://github.com/asterisk/ari-examples/tree/master/channel-state, https://wiki.asterisk.org/wiki/display/AST/ARI+and+Channels%3A+Manipulating+Channel+State)
Is it possible to receive some chunks (parts, buffers, etc.) of call voice (which are created by remote subscriber) or write chunks of voice, for example like a some array of bytes (not from file) in some audio format (alaw, ulow etc).
You can use asterisk EAGI interface to get voice data.
Other option is use Record or Mixmonitor app for record channel(channel have be put to Stasis to allow dialplan control by ARI)
"Write chunks of voice" can be done by application Playback
Also you can create your own application using c/c++, compile it into asterisk and get result you want.
No, you can't redirect voice directly using ARI.

Asterisk HOLD functionality workaround

I'm using asterisk with webrtc in chrome (SIPml5 client) and also using their webrtc2sip gateway.
My problem is that I can't send the hook-flash/flash signal to asterisk for some reason.
Is there a possibility to trigger hook flash by sending DTMF signals ? (which apparently work for me )
Example: I want to trigger the standard hold functionality by sending the following DTMF sequence: #123.
On the other hand as a workaround, could I hold a channel using AMI or AGI ?
Basically I want the other party to hear OnHoldMusic while the channels/call remain active. On the local side I can just mute the audio tag which is fine.
Thanks.
Yes, you can do hold using ami command hold or AGI exec command musiconhold
That info is availible in AMI/AGI documentation
You can handle dtmf by using features.conf

Resources