Today i come up with in situation where i need to implement system where i need to filter out few number when i call them. My requirement is i have Primary Rate Interface (Pri) network connected to 30 land line telephone sets. With my starting research i am able to find few solution's
Telephony Application Programming Interface (TAPI)
Microsoft Unified Communications Managed
Lync 2013
asterisk
I am able to achieve above motive by refereeing TAPI for single connection but still not have any idea about implementation on PRI lines. Asterisk is open source but to implement this we need to tools which are not free. As i am new with this, please give me directions to move on with.
The learning curve in this area can be wicked complicated, if you don't have T1/ISDN background you may be in for a long tough haul if you try to write PRI call control yourself in C#.
You should probably start by refining your requirements statement, keeping it as technology neutral as possible. You need to be prepared to explain the business problem you are trying to solve clearly. E.g. if you need PRI, is it for connecting to the telephone sets, to the telephone company, or both. What actions happen when you "filter out" telephone numbers? Focus first on a clear statement of what, rather than how.
As to how, there used to be several companies that produced this sort of hardware/software packages, but over the years one of them (Dialogics) seems to have bought out most of the others hardware vendors, so a lot of the software vendors partner with them. I'd recommend you start at http://www.dialogics.com and look into solutions partners to see if you can find a close match for your requirements.
Good luck!
Related
I am in a bit of a crisis here. I would really appreciate your help on the matter.
My Final Year Project is a "Location Based Product Recommendation Service". Now, due to some communication gap, we got stuck with an extremely difficult algorithm. Here is how it went:
We had done some research about recommendation systems prior to the project defense. We knew there were two approaches, "Collaborative Filtering" and "Content Based Recommendation". We had planned on using whichever technique gave us the best results. So, in essence, we were more focused on the end product than the actual process. The HOD asked us what algorithms OUR product would use? But, my group members thought that he meant what are the algorithms that are used for "Content Based Recommendations". They answered with "Rule Mining, Classification and Clustering". He was astonished that we planned on using all these algorithms for our project. He told us that he would accept our project proposal if we use his algorithm in our project. He gave us his research paper, without any other resources such as data, simulations, samples, etc. The algorithm is named "Context Based Positive and Negative Spatio-Temporal Association Rule Mining" In the paper, this algorithm was used to recommend sites for hydrocarbon taps and mining with extremely accurate results. Now here are a few issues I face:
I am not sure how or IF this algorithm fits in our project scenario
I cannot find spatio-temporal data, MarketBaskets, documentation or indeed any helpful resource
I tried asking the HOD for the data he used for the paper, as a reference. He was unable to provide the data to me
I tried coding the algorithm myself, in an incremental fashion, but found I was completely out of my depth. I divided the algo in 3 phases. Positive Spatio-Temporal Association Rule Mining, Negative Spatio-Temporal Association Rule Mining and Context Based Adjustments. Alas! The code I write is not mature enough. I couldn't even generate frequent itemsets properly. I understand the theory quite well, but I am not able to translate it into efficient code.
When the algorithm has been coded, I need to develop a web service. We also need a client website to access the web service. But with the code not even 10% done, I really am panicking. The project submission is in a fortnight.
Our supervisor is an expert in Artificial Intelligence, but he cannot guide us in the algorithm development. He dictates the importance of reuse and utilizing open-source resources. But, I am unable to find anything of actual use.
My group members are waiting on me to deliver the algorithm, so they can deploy it as a web service. There are other adjustments than need to be done, but with the algorithm not available, there is nothing we can do.
I have found a data set of Market Baskets. It's a simple excel file, with about 9000 transactions. There is not spatial or temporal data in it and I fear adding artificial data would compromise the integrity of the data.
I would appreciate if somebody could guide me. I guess the best approach would be to use an open-source API to partially implement the algorithm and then build the service and client application. We need to demonstrate something on 17th of June. I am really looking forward to your help, guidance and constructive criticism. Some solutions that I have considered are:
Use "User Clustering" as a "Collaborate Filtering" technique. Then
recommend the products from similar users via an alternative "Rule
Mining" algorithm. I need all these algorithms to be openly available
either as source code or an API, if I have any chance of making this
project on time.
Drop the algorithm altogether and make a project that actually works
as we intended, using available resources. I am 60% certain that we
would fail or marked extremely low.
Pay a software house to develop the algorithm for us and then
over-fit it into our project. I am not inclined to do this because it
would be unethical to do this.
As you can clearly see, my situation is quite dire. I really do need extensive help and guidance if I am to complete this project properly, in time. The project needs to be completely deployed and operational. I really am in a loop here
"Collaborative Filtering", "Content Based Recommendation", "Rule Mining, Classification and Clustering"
None of these are algorithms. They are tasks or subtasks, for each of which several algorithms exist.
I think you had a bad start already by not really knowing well enough what you proposed... but granted, the advice from your advisor was also not at all helpful.
We use a solution in C#.net where someone can call a phone number and speak a persons First, and then Last Name. Then the name is entered on a guest registry on our website. We use an XML dictionary file with 5,000 First Names and 89,000 last names that we got from the US Census. We are using the Microsoft.Speech.Recognition library, (maybe that's the problem).
Our problem is that even with relatively easy names like Joshua McDaniels we are getting about a 30% fail rate. The performance, (speed-wise), is fine it just doesn't grab a good portion of the names.
Now, I understand that ultimately the quality of the spoken name will dictate, sorry for the pun, how well the system performs, but what we would like to get close to 99% in "laboratory" conditions with perfect enunciation and no accent and then call it good. But even after several trials with the same person speaking, same name, same phone, same environment, we are getting a 25% fail rate.
My question is: Does anyone have an idea of a better way to go after this? We thought of maybe trying to use an API, that way the matches would be more relevant and current.
The current state of the technology is that it is very hard to recognize names, moreover a large list of them. You can recognize names from the phone book (500 entries) with good quality, but for thousands of them it is very hard. Speech recognition engines are certainly not designed for that, in particular offline ones like System.Speech.
You might get way better results with online systems like https://www.projectoxford.ai which use advanced DNN acoustic models and bigger vocabularies.
There were whole big companies built around the capability to recognize large name lists, for example Novauris
used patented technology for that. You might consider building something like that using open source engine, but it would be a large undertaking anyway.
I guess I'm gonna take a lot of heat about this question, and even some down votes but I am really lost here.
I know what SCORM stands for and what is it good for. I saw the paid "engines" like scorm.com but it starts from $20K...
I work for an LMS site software, we have videos, courses and whatever... my manager said "we have a provider that has a lot of courses in SCORM format, build a tool that import them into our database."
Oh god, help me, is there an easy way to do that or am I facing a year of hard, not satisfying work now? (don't know if I can use the non-free ones, depends on prices).
ASP.NET, C# platform.
Short answer: buy the Rustici guys' engine. If "a lot of courses" is let's say 500, you're looking at $40 per course. You'll probably sell them for more. Or think of it as 3 months work paid instead of 12-20 months of your own work and suffering. Like taking a train instead of walking.
Long answer. I think a lot of people here assumed you want to import SCORM courses and have them work flawlessly. I'm not sure that's what your boss wants you to do. Maybe if you simply import the courses (upload and extract zip files), determine the launcher file (described in easily parseable imsmanifest.xml) and launch it in a popup/iframe, the course will.. just work.
Sure, you will not be able to receive scores and completions. Sure, if the course relies on some data from LMS like student name, you won't be able to supply it.Sure, if the course cannot detect SCORM API, it'll throw an error at you. But you might be able to code a very basic fake API that does nothing or some basic communication functions with your own platform, and you'll be able to launch all those courses. Maybe you don't need 90% of what SCORM offers/requires.
Someone mentioned climbing Mt.Everest. Well, think of it as photoshopping your happy sun burnt face onto a picture of the summit. Not quite the same result but the effort invested is a million times smaller as well.
I wrote an LMS using ASP.net. It took three of us over a year to write the scorm engine and player. It is basic and it was not easy. Tell your boss he just asked you to climb Everest without cold weather gear :)
$20K vs 1 or 2 guys salary for 2 years - if they can read fast or have prior experience with SCORM 1.2 and or 2004. Then all the pain and suffering in between. Rustici has all this figured out and it also works pretty quick compared to other canned systems.
Beyond the API, and XML Parsing, validation, access, sequencing rules, arbitrary limits, error codes and messages, your also deciding on a API implementation. There are LMS systems out there that literally talk to the backend on every GetValue/SetValue call, which seriously lags out the user experience. If I spent that much time building this, only to find out I did it the slowest possible way I think I'd be curled up in the corner somewhere rocking back and forth.
I would say though this space is filled with a ton of legacy code stretching back to the early 2000's that's drastically due for a overhaul. Any code you manage to beg borrow or steal is going to be some old school stuff. None of it tied into a 'managed code' format or anything you could unit test without building that all from scratch too.
Nope, no easy solution here, especially for C#. The commercial solutions cost that much because their developers went through the pain of "a year of hard, not satisfying work". The open-source solutions are typically PHP-based. A few use Java.
Is there an API or Web Service that can be used to read AIS data? Most links I read starting at Wikipedia (http://en.wikipedia.org/wiki/Automatic_Identification_System) say that AIS data is freely available but I'm having a hard time finding a provider of the data. A C# example or language agnostic web service would be helpful.
Building a project map for a clients website. Basically a world map based on the google maps api with pin's where they did their projects and if you click on a pin you get additional information about the project.
Most were just static addresses which was ok, but they did 6 project's on luxury yachts. So had the idea to base this marker on the current position of the yacht. Came across this service, they have a nice API for it.
https://www.marinetraffic.com
The down side to this, it's a bit pricey.
Cheapest option, checking daily position of 1 ship -> € 5,- a month.
So this would be € 30,- a month for a relative useless but awesome feature.
Cheaper alternative's are welcome.
I ended up using vesseltracker.com for this project. Unfortunately it's a "call us for a price" service so I'll continue looking for a provider with a flat/reasonable/free rate.
There is a feed from the San Fransisco Bay available for non-commercial use at hd-sf.com:9009.
I have used it to test my Java-based AIS decoder https://github.com/tbsalling/aismessages/wiki.
AIS data is freely available in the sense that you can freely receive it with the proper equipment, just by holding up an antenna in an area with shipping traffic.
Samples of received AIS data popped up quite a bit in my brief Google search, so I assume that your question is about where to get a real-time feed of AIS messages (that someone else is receiving). Whether you'd be able to get this at no cost is questionable; most organizations that would offer this seem to want you to either pay for the service or to share in kind.
There are a few places that offer a free stream, but none of them seem to offer any guarantees on availability in the short or long term.
So the answer to your question is "yes, and you should expect to pay something for it".
This question already has answers here:
How can I make my product as a trial version for 30 days?
(11 answers)
Closed 7 years ago.
I have a C# program that I would like to sell and I want to offer a 14 day trial, I understand that all piracy prevention schemes are overcome so I don't want to waste much time doing this. Could anyone offer any suggestion and even some sample code?
Thanks
My choice would be to store the date of the install (encrypted with a key) in the registry or config file. Look at this each time the application starts.
You can protect your app.config file using something like the RsaProtectedConfigurationProvider .
Obviously if they decompile the source they'll find the key in it, obfuscating might help this a bit, or using public/private key but that is probably an overkill for what you need.
A thief can always turn back the clock to within 14 days of the install, as well as virtualization to achieve the same end. Can you count on net access and have the program phone home for a key?
HASP is one company that does this full time.
Also, depending on factors such as the size of your target market, your purchase price, your competition, and the ecosystem you're selling to, you might consider that some amount of priracy might be your best marketing tool. Which is the greater risk: that your software is widely pirated, or that your software is lost in the noise and few ever even try it? Some software allegedly owes it success to wide spread piracy (WordStar, dBase, Lotus 1-2-3, iirc). A quick google shows that Chapter 13 of "in search of stupidity" touches on this.
It's a tough question, good luck.
Store the date of the install encryped as mentioned.
Also store todays date every time the app starts. If the day suddenly has gone back in time, you know they've cheaten and you close the program.
I would use .NET Reactor over at www.eziriz.com
Just do a nag screen if it's not registered. People are going to steal your software, whether you like it or not. Wasting time on a copy protection system is just going to make it more frustrating when people steal your software.
A gentle reminder that it's still in the trial stage will probably suit you better, ala WinRar.
Only save way of doing this would insult an online registration of the software, to one of you servers.
The software should generate an id on install with fixed system ids used, so the server may identify the software on that system.
Well, I would recommend not to build a trial version, but a free version with limited functionality.
Honestly since you are using C# i'd say don't waste time on licensing.
If someone wants your program without paying, they will simply open it up with any IL reader and remove your licensing system or just nop it.
As another user said make a free version with limited functinality. Sell the full version hope it's not spreaded too fast on torrent sites.
Or simply remake your application in another language e.g. c++ and use a licensing system that has to connect to a server. Making it slightly harder to reverse engineer.
Just take notice that whenever your program becomes somewhat popular it will be hacked/cracked.
Simply rely on the honest people or people who use it commercialy and cannot afford to "get caught" using illegal software.
EDIT*
Someone said to use .NET Reactor over at www.eziriz.com
If it works as advertised this will only stop people to easily read your code. It won't stop people to reverse engineer it and hack it anyway.
The question is how much do you want to pay for protection?
(This is basically rewriting it in another programming language only you pay for it. (less time consuming though), again does it work as advertised?)
If you do not want to waste time in designing a licensing scheme, consider a ready-to-use system like CryptoLicensing - it supports X day trials among other things.
DISCLAIMER: I work for LogicNP Software, the developers of CryptoLicensing.
To get the present 'Time' in C you have to use the header file stdlib.h and the
function:
system("echo %time%");
Program:
main(){
system("echo %time%");
getch();
}