This is a scenario of emergency, where when once the IVR application is initiated, it makes outbound calls to numbers which are fetched from an xml file or database.
Each call on conencting announces a message to called party and then disconnects.
The customer requirement is 1000 outbound calls in 20 minutes.The solution suggested is IPCCX 5.0 with IPIVR license.
From the CRS scripting(IPIVR) , is this achievable?
Can CRS code/scripting, initiate paralled outbound calls?
IF not, what is the actual solution to this scenario?
Now I am able to make one call to an external number and play the prompt.
How can I now initiate multiple parallel calls on different numbers.
Can you please give an idea.Do I need to write any other script??
Now I have one CRS IVR script(say script2) which I initiate using HTTP trigger.this script calls one number and announces the prompt then disconnect the calll.
Now I want to call multiple numbers parallely.
Can you just give an idea on the custom application.. will it be another IVR script or a separate external Java programme will have to be written.What would be the logic??
you'll have to write an external desktop/services application that basically makes multiple http requests to your dialer ivr application using the http trigger (http://
In which language this desktop services will have to be written?Will it be in Java or something else??
Once this desktop/services application passes one number as parameter to HTTP trigger,will it wait for the first call to be finished(one call is IVR call out,call gets connected and plays prompt)
it can immediately pick up another number without waiting for the first call to finish.
This can be written in Java, C#, Vbscript, or any other language that supports http messaging. Applications such as Peoplesoft, Oracle Apps, Websphere Middleware, etc... that support "messaging" are also possible.
Depends on how many sessions are defined for the App, if you have 10 sessions set, then 10 Apps can be triggered, yielding 10 call contact attempts... depending on how fast you send the triggering message will determine how close they are together.
To build this can be alot of work.
*Please rate all useful posts.
the dialer.aef script as it stands does not wait for the triggered call to complete before returning a response to its caller so you can trigger as many requests as you want. the limit is determined by the "maximum number of session" parameter on the trigger/application configuration page.
as previously answered, you can write the application in any language you want as long as it's capable of making http requests.
In the dialer.aef script you send, If I don't remove the Termina(triggering contact) after send HTTP response, I get an error...(see attached)
and the control doesn't go forward from there and place a call.
-->from the MIVR log on CRS server I see this message
"%MIVR-SS_HTTP-1-HTTP_REQUEST_ERROR:Http Request Error: Cause of Http request error=com.cisco.contact.ContactInactiveException: Contact id: 188, Contact is inactive when getting channel"
Hence, I am forced to remove Terminate(triggering contact), and place terminate(outcall,P[JTC\emergency.wave] ,, after the prompt is played to customer.
For the final time can you have a look at the script, and see I can get rid of the error.
(attached is the script in which I don't get error, since I have removed Terminate(triggering contact),,, but have to be place this step after playing prompt to customer).
Can you please suggest/resend script.Please test once yourself.
Note:--->for the above I was initiating the IVR script using URL
MAX sessions on the trigger/application configuration page is set to 5.
you can go ahead and remove the terminate step. in your desktop/service application, use asynchronous requests or multi-thread your applications so you can do concurrent callings.
Thanks for your help so far.
Can we somehow, get the HTTP request terminated before place call(as you were mentioning earlier), and proceed with place call also!!
This way I may not have to write the external application for multithreading and no dependability on the ext application writer!Isn't it.
If yes, pls tell how.
We are writing an application in ASP.NET to trigger the Cisco CRS application script which in turn places outbound calls, as suggested.
Just one more step ahead , if the user were to initiate the outbound campaign using a telephone call.Is this possible?
Can we take the following steps.
1)Write a script to accept user call(who calls for initiating the campaign),then if user press 1 to go ahead, make a HTTP request to the ASP.net application to fire HTTP trigger in asyn/multithread mode.
2)the ASP.net script then calls CRS appl/script which places call out.
Question:for 1) can a CRS script place HTTP request to the ASP.net appliaction?
I have not had a need for a CRS script initiate an HTTP request, I believe it could be done using a Custom Java class loaded into CRS and called by the script.
another idea includes using a Database table outside of CRS that the ASP.Net watches.
*please rate all posts
Thanks for your useful inputs.
Today I am at a stage where I can use an external application to HTTP trigger a CRS script which can place outgoing call(as multithread).
The script gets the prompt to be announced & number to dial out from ext appln as parameters.
But, when the script dials out and places outgoing call, it doesn't log any records in the CRS database.
I am attaching the CRs script which places call out using 'place call".
Can you suggest what is the issue?
Basically I am interesting in knowing the call start & end times, when the call got connected & hung up by the script, when it called out.