please bid on this project if you are very familiar in:
- Telecommunication Market, VOIP, you know the call flow
- You know what a CDR is
- you are expert in Asterisk
- you have very good analysis skills
We would like to drive this project on an Asterisk Solution.
Project is for detecting fraud on calls.
To identify a fraud number, we should work with a scoring to the phonenumbers. This should be handled as flexible as possible to get highest score of detecting the fraudsters.
Full IP to IP:
our SIP/h323 Trunk included billing -> your Asterisk solution with fraud trap and routing management -> our SIP/h323 Trunk -> Terminating GatewayS (multiple).
The Service is like the following:
As we are wholesale voip provider, we offer customers using our routes.
We only work at the moment on IP to IP basis: SIP AND h323
So you asterisk solution has to support h323 AND SIP.
The Call Details Record generated by the Switch will be extracted periodically and uncompressed in the system.
Then the CDRs will be filtered for the fraudulent subscribers. These CDRs are then loaded into the database by running various batch processes.
After loading into the database, the CDRs are monitored for fraud based on the various parameters, which are configured in the system.
The system provides the flexibility for the operator to define his own set of parameters through the front end. The User Interface will facilitate the configuration of monitoring parameters for the below mentioned events.
Risk scores can be set for the events and the subscriber gains a risk score whenever he defaults any of the threshold parameters. These risk scores are used for the evaluation of Fraud Subscribers. The Operator will be able to differentiate between genuine subscribers and fraudulent subscribers with the help of this.
After the CDRs are monitored the history of each subscriber is maintained in the database. Regular cleanup of database and files is provisioned by the system. The system also provides the log of various activities in the system.
In my point of view we can only build up an effective Fraud Management by analyzing the CDRs of the past.
• Length of incoming call smaller/greater than specified number of seconds against reappear of the MSISDN due to the history.
• Ratio of Incoming Calls to total calls regarding the phone number called in the past.
• Ratio of reappear calls to same destination
• Calls made between specific time intervals
• Incoming calls to black listed numbers.
We would like to implement any fraud event that you can think of and implement.
So, The Asterisk gets the call, Asterisk Answers, Asterisk checks destination number against Fraudster Database.
If the call passes the Fraud Trap, it gets routed to a specific destination that is configurated in the routing table.
If call does not pass the Fraud Trap, it should get rejected with q931 code: 34.
We would like to drive all this on a Web GUI !!
As in this case I need your experience and suggestion that the GUI should be as flexible as possible.
By choosing CDR files, or also several CDR files to upload.
Consider also please that a CDR file can be easily minimum 200-300 MB. I am not sure if browsers can handle this.
- So maybe by accessing the file there can be choosen by
ftp transfer by adding ftp info and the CDR´s grabbed and processed.
realtime processing by accessing directly the CDRs on the Trunk/switch and analyze them via SSH to the billing folder
- Also by uploading from local computer should be also possible.
- Manual adding of numbers into the DB.
- I should be able to say by importing a CDR which columns should be imported, as we maybe will have different types of CDRs with different built columns.
- .csv and .txt
I think during analyzing the CDRs giving each number in the fraud database a score would make everything easier to detect fraudsters.
e.g. a fraud score from 0 – 4
0 = no fraud, pass (green phase), number is called not so often, has calls with duration, also calls with 0 duration
1 = number that gets called frequently, business people, have lots of calls with 90% with duration above 1 min.
2 = number that gets called frequently, has lots of calls with threshold 50% of duration above 1 min (yellow phase)
3 = maybe fraud, goes directly to fraud DB, also goes for manual processing into another DB for manual check (yellow-red phase)
4 = highest fraud, directly into the fraud DB (red phase)
A report functionality over the GUI to monitor and maintain would be nice.
- Report feature of showing above events, always to be aware what is going on
- Manually releasing CDRs after processing them manually
Please, when you code always be aware that we might add more features in the future to make things more effective and easier.
Especially the reports part and fraud traps.
Also we want to integrate a MOH (Music on Hold) on the Asterisk.
If call passes the Fraud Trap check there should be a possibility to enable/disable MOH in the routing table.
This is if we use the Asterisk on for routes where MOH is not needed, also queing the call would not be needed if MOH disabled.
This should work like this:
Call hits the Asterisk,
call get checked in Fraud Trap regarding the destination number
if call passes, send call to destination route, put call on a MOH que, play a .wav file, for e.g. 18 seconds (duration must be variable and changeable) and then connect the call to the destination.
If you connect the call and the party picks up the phone, then you should send a connect-signal to the originator of the call; for billing.
Maybe if possible you can also detect the RBT signal, get the call-leg out of the parking que and then transfer the parked call to the destination.