dose asterisk have any solution to access the recorded calls by itself , i mean no tricky way like saving recorded calls to DB or using Ftp or other third party solutions ...
looking for built in solution.
No.
But you can build a macro that will play the recorded calls
Asterisk does not provide a built in mechanism to access recorded calls (via Monitor or MixMonitor). All calls will be recorded to /var/spool/asterisk/monitor (unless specified differently).
You can check out a project called ARI (Asterisk Recording Interface), not to be confused with Asterisk REST Interface. It should provide you with the solution you are seeking.
Pay attention to one thing - recording everything into a single directory will end up with thousands of files in one directory. Depending on your file system, ext3/4 for example, may not really like the idea that there are 10,000 files in one directory.
My suggestion to you is this, if you are building a recording system for an enterprise, develop a catalog mechanism with a database, so that you don't have to run daily archiving and sh**ty procedures to keep your system working.
Related
I have been assigned the task to automate regression testing for a VXML based IVR hosted in cloud.
This is a DTMF based IVR where IVR plays a audio prompt and then waits for caller input. I am not sure how to automate this part.
How do I automate DTMF digits collection?
I have seen a few suggestion where it was mentioned that I need to playback audio files that represent the telephone keypad input (DTMF). But that doesn't seem optimal. Is there a way I can specify the input in a text file and have IVR read it.
I have found few suggestions online but that would require.
I have to find a solution which is Free. Meaning I am allowed to use only tools that are freely available on Internet.
I will be grateful if I can get suggestions on how to get this done.
There are a couple of commercial solutions, but since you indicate you need free, I'll skip those.
You can blindly treat it as a web application and test the navigation between pages. This won't allow you to test the call flow, but you can test some of the back end logic that drives page generation.
You can write another IVR application to call your current application. Without speech recognition, it is hard to confirm that the call flow is correct, but an call that ends unexpectedly would fail. If you can change the existing application, you may be able to swap out recordings of voice with tones and use those to keep the test case and call flow in sync.
You could use one of the open source voicexml engines and modify them to drive the call flow. You might have dependencies in your infrastructure that require a real call flow versus a simulation. I have been able to get JVoiceXML to process a voice application in a simulation/test case manner.
In summary, you're going to need to be creative if the requirement is no external cost, just your time.
The DTMF tone wave files can be made dynamic by using script. Say you want to enter DOB 22111984, write a OE/ECMA script which will input those wave file. It's same like playing dynamic audio file.
Assuming your are using another IVR(outbound) which will play back to inbound IVR.
i.e :
<script> <![CDATA[
function sayDTMF(n)
{
//generate VXML page which will play audio file
// depending upon the input
//2.wav 2.wav 1.wav 1.wav 1.wav 9.wav 8.wav 4.wav
}
]]> </script>
<goto expr="sayDTMF(DOB)"/>
we are using FTE agents for transferring files,
we want to configure scheduler transfer to work in a certain hours of the day,
so for example, if *.txt files is in the folder, transfer those files between 08:00AM to 12:00PM.
We tried so far several designed patterns (such as using ANT to determine the current hour and using trigger file which is different from the *.txt files) to solve the issue, but no success.
Any suggestion ?
I do not believe there is currently an option in WebSphere MQ FTE/MFT that provides exactly what you are looking for. From my understanding, what you are basically requesting is the Resource Monitor functionality (see the link below) but with an extra to option to say only have the Resource Monitor active between two time periods.
http://www-01.ibm.com/support/knowledgecenter/SSEP7X_7.0.4/com.ibm.wmqfte.doc/resource_monitoring.htm
Currently, a Resource Monitor is active when the FTE/MFT agent hosting the Resource Monitor is running.
You would need a system that requests these transfers manually at the times you want them to be processed.
Perhaps you would like to consider raising a Request For Enhacement (RFE) against the product?:
https://www.ibm.com/developerworks/rfe/?BRAND_ID=181
I have an orchestration which polls data from a database (which is actually used by an ERP, so i am not able to manipulate data in this database), Once the polling port finds matching data it executes the orchestration and sends data to a third party web service.
The logic used in this orchestration is complicated and often prone to change, and so it's important to cover it with proper set of tests. I am thinking about this for a while and even thought of using 3 different components so that,
First part (can be only 2 ports) reads the data from the database and put into a folder
Second one (current orchestration) uses a file port to read data and dumped by the first component and it dumps the resultant file to another folder
Third component reads the file dumped by the second component and send it to the web service
However I have few concerns,
Is this a frowned upon practice, when it comes to the BizTalk? Or is it a normal way to do things?
The performance - would it be significant slower compared to the current solution?
We are currently using the one of the server to run the tests / do the build using BTDF and Jenkins. Is there a way to disable the components 1 and 3, run the tests and re-enable them once build is completed so that it can function normally?
You can avoid the overhead of writing to and reading from files by using the built-in functionality of the MessageBox. The first place to start is here: https://msdn.microsoft.com/en-us/library/aa949234.aspx
There is an excellent Biztalk sample which shows how you can use this approach to modularise your functionality into a set of orchestrations which independently read from and write to the MessageBox. It's referenced at the bottom of the previous page and is called "Direct Binding to the MessageBox Database in Orchestrations".
I'd recommend against this approach. You'd be better off making the three orchestrations direct bound to the MessageBox and subscribe to the messages published by the previous orchestration. You could also create send ports that subscribe to these messages, or just use the management console to debug the messages.
You can also write unit tests for your various tasks. If you're doing some work in a .NET helper library, you can have a plain old unit tests project. You might also want to look into the BizUnit framework (https://bizunit.codeplex.com/) - it takes a little doing to get used to but it's a great resource for writing BizTalk unit tests.
I need to build a reliable predictive dialer based on Asterisk. Currently the system we use includes Wombat and Asterisk, and we do not find this solution usable as Wombat provides a poor API and it's impossible to use it without regular manual operations.
The system we want:
Can be used solely via API or direct database queries (adding lists to campaigns, updating lists, starting campaigns, stopping campaigns etc.) so that it can be completely integrated into an existing product
Is free, or paid for annually independent to the usage rate
Is considered stable
Should be able to handle tens of thousands of calls per day, if it matters
Use vicidial.org or hire freelancer to build new core with your needed api.
You can also check OSdial for this, it also developed using asterisk.
We have been working with a preview of the next version of Wombat, through the Early Access program, and Wombat has a complete configuration and reporting JSON API and you can deploy it "headless" in order to scale up to thousands of parallel lines. If you ask Loway they can likely get you access to the Early Access program.
BTW, Vicidial is great for agent-based outbound, but imposes quite a large penalty on the number of agents per server - you cannot reasonably use it to do telecasting at the scale we are looking for as it would require too many servers. Wombat is leaner and can drive over one thousands channel per server. YMMV.
This question would be better placed on a "hire-a-freelancer" site like oDesk ... if you need custom programing done, those are the sorts of places to go to get manpower.
Your specifications are well within what is possible with Asterisk. I'd strongly recommend looking at Vici Dial and OS Dial as others have suggested; out of the can, they are pretty good.
The hard part of any auto-dialer is not the dialer, oddly enough. It's the prediction algorithms, the answering machine detection algorithms and the agent UI. Those are what makes or breaks an auto-dialer application for a company.
I have hermesJMS setup and soapUI. I'd like a small script that can go in either via hermesJMS or another way to retrieve the queue depth of a particular queue.
Is there a way to do this easily?
Thanks
The JMS specification does not provide an API for object inquiry, however IBM provides one using native Java classes and the C API using Programmable Command Formats, or PCF for short. The PCF reference docs are here.
If you have installed the WMQ client code (free download with registration) you will have the sample programs on your laptop. By default, these reside in C:\Program Files (x86)\IBM\WebSphere MQ\tools\pcf\samples for Windows or in /opt/mqm/samp/ for UNIX/Linux. Take a look at PCF_ListQueueNames.java for a starting point. If you were to substitute MQCMD_INQUIRE_Q for MQCMD_INQUIRE_Q_NAMES in that program you'd be very close to what you require.
Alternatively since you requested alternatives, you might look at SupportPac MO72. This SupportPac can be used as a client version of runmqsc so that you can, from a central server, write scripts that query your entire WMQ network. Of course, it also works in local bindings mode. Among the other features that make MO72 great for scripting is an option to format output to one line per object. This lets you grep out the line of interest, then strip out the value of interest.