I am using asterisk AMI to originate call.I am calling to a folder which contains phone number of customers. In current scenario, i am using xlite, from where call is originating but xlite is disconnecting every time hangup current call and we are clicking on xlite green button for sending call to next customer phone number.
What my requirement is, When i click on that folder, call should originate once and once the current call is disconnected from customer end, next call should start (not originate) for next customer number. Is there anyway to do so?
In short, Asterisk AMI Originate: Without Extension Local Ringing is possible?
Yes, you can manage multiple dials using dialplan using Local/ channel
You can call to queue as agent(there is possible agent which always on phone) and create new calls to queue.
Related
I have an Asterisk server running where a lot of people will call on in the future.
Is it possible to configure the server that if the caller doesn't press a number (or * and #) on his phone for like 10 minutes it automatically hangs up?
Thanks for your help and best regards
I am not aware of any builtin functionality which would adresses your usecase.
There is the parameter L() of the Dial application which allows to limit the call duration and plays announcements before the limit is reached.
But that does not fit your usecase.
I expect you have to write a custom application which listens on the manager interface and track incoming calls and Events to hangup the channels by yourself...
You can use:
s,n,ResponseTimeout(600)
Or:
s,n,Set(TIMEOUT(response)=600)
Then add an extension to the dial plan to hang up the call:
t,1,Hangup()
You have two options.
1) use TIMEOUT(response). This one is exactly for your case, but not work for some dialplan.
2) Use TIMEOUT(absolute) and update it after any new input. This work for any dialplan, but it absolute(i.e will hangup even if you have input).
http://www.voip-info.org/wiki/view/Asterisk+func+timeout
I am trying to make a system where user1 makes a call to user2 and after few minutes of conversation user1 asks user2 to press some key and user1 one should be able to read this DTMF sent by called party.
Read() command reads the DTMF from caller, hence is not an appropriate option.
D([called][:callin]) option in Dial() command can do this but it is used in Dial command and hence can only send/receive DTMF at the time of call is answered, Not after few minutes into the call, hence not again appropriate option.
Please help me by suggesting something which can be used to achieve above scenario. Let me know if more info is required.
You can check features.conf, that can suite your need
http://www.voip-info.org/wiki/view/Asterisk+config+features.conf
Also you can write c/c++ app to collect data
There are no other way collect dtmf in bridged call.
Is there a way with Twilio to:
have a customer call in and be placed in a hold queue
Twilio would then dial our CSR's telephone numbers sequentially (or all at once)
Connect whichever CSR answered to the customer
I can get the system to answer the phone, place the caller into a queue, but then dialing the CSR and then connecting the CSR to the caller is where I am stuck.
I can get the system to answer, play a message, and then dial a sequence of CSR numbers, but that is it.
BTW: I am using classic ASP, not that it really matters.
Twilio evangelist here.
To make Twilio dial out to your CSR's you're going to need to use the REST API, specifically POSTing to the Calls endpoint. Check out the docs for making calls.
In order to know if the CSR did not answer and you need to call another, you can use the StatusCallback parameter. This lets you specify a URL that Twilio will request when the call ends, letting you know why it ended. If the CSR does not answer then you can find that out in the StatusCallback request by checking the Status parameter and start a call to another CSR.
You could also start a bunch of outbound calls to a bunch of CSR's at the same time. If you do this you would need to track all of the calls (I'd just store each calls CallSid somewhere) and then when the call starts use the <Gather> verb to have the CSR indicate they want to accept the customers call. You would then just hangup on all of the other in-progress outbound calls and <Dial> that CSR into the Queue which would connect them to the customer.
Hope that helps.
I'm using asterisk 1.4
when my agent talks with customer , we need a option of putting their call in a IVR
in which agent and customer can listen those ivr menu at a same time , eventually customer should send some DTMF for IVR menus
Could any one pls tell me in what way we can achieve this
Consider dropping both calling and called parties (customer & agent, respective to how you're operating) into a conference call, and then!
...Go and originate another call (with AMI or a call file) that's operating from a new context/extension/proirity and also drop this originated call into the conference.
I haven't tested this with DTMF input into a call prompt -- But, I have played automated messages to both calling and called party in a conference using this technique.
The caveat may be that both calling and called parties will have control of the prompt. Which may or not be relevant to your use case.
I am new to Asterisk and Voip. I wanted to accomplish a following small thing using Asterisk.
Description
Asterisk is used as server
Several Voip clients. (Two types of clients possible. One which can start a conference call, other can't call but can only hear.) Only caller client can start/end this call.
The call can't be longer then a particular time.
Is it possible through Asterisk. How does asterisk help to implement this scenario. What does I need to learn? Any web links will be very helpful.
Thanks
You can do all that with Asterisk and ConfBridge:
http://www.voip-info.org/wiki/view/Asterisk+cmd+ConfBridge
Use the following options to accomplish your objectives:
'A' — Set marked mode
'm' — Set initially muted.
'w' — Wait until the marked user enters the conference
You can use another dial plan function: TIMEOUT(absolute) to limit the conference duration.
To start I would look at the examples in the above link.