Hi everyone, Was just wondering what/if anyone is doing any work on FAS detection and spoofed ring tones. Be great to discuss some ideas. Regards, Ahmed. -- Ahmed Naji
False Answer Supervision.. 200 ok while it's still ringing Sent from my iPhone On 2010-01-08, at 4:43 AM, Michael Jerris <mike@jerris.com> wrote:
what is FAS ?
Mike
On Jan 7, 2010, at 8:05 PM, Ahmed Naji wrote:
Was just wondering what/if anyone is doing any work on FAS detection and spoofed ring tones. Be great to discuss some ideas.
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch- users http://www.freeswitch.org
Hello Ahmed, I don't think there is a reliable way to detect FAS on a per call basis. Even audio detection software can be confused by strange ringtones, answering machines, etc. The most reliable way we have found is to use statistics from CDRs and see if the INVITE-to-200(OK) delay averaged over a number of calls appears to be too small. If it is, then it is possible that you got FAS for those calls. But this can only tell you if you have been experiencing FAS in past calls, ie you will not know you are getting FAS in real time. It is still useful however: after you detect a possible FAS case via statistics you can place a few test calls yourself to verify that there actually exists FAS (and this is the only information that a carrier will accept in a trouble ticket to prove to them that they actually give you FAS). I hope this helps. Best regards, Vlasis Hatzistavrou. On 8/1/10 3:05 ??, Ahmed Naji wrote:
Hi everyone,
Was just wondering what/if anyone is doing any work on FAS detection and spoofed ring tones. Be great to discuss some ideas.
Regards,
Ahmed.
-- Ahmed Naji
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Hi Valsis, Thanks for this. My line of thought is to tone-detect secondary ringing tones post 200(OK) to detect FAS (False Answer Supervision). This should eliminate at least a good proportion of calls, and it can be done real time through a script/modules/...etc. Working along this thought, at least you are minimising the hit cost-wise to a few seconds at most. As to answering machines and fake conferences, fake network messages ...etc, one can possibly use voice detection, perhaps with heuristic and statistical training. Just a thought .. Regards, Ahmed. 2010/1/8 Vlasis Hatzistavrou (KTI) <vhatz@kinetix.gr>
Hello Ahmed,
I don't think there is a reliable way to detect FAS on a per call basis. Even audio detection software can be confused by strange ringtones, answering machines, etc.
The most reliable way we have found is to use statistics from CDRs and see if the INVITE-to-200(OK) delay averaged over a number of calls appears to be too small. If it is, then it is possible that you got FAS for those calls.
But this can only tell you if you have been experiencing FAS in past calls, ie you will not know you are getting FAS in real time.
It is still useful however: after you detect a possible FAS case via statistics you can place a few test calls yourself to verify that there actually exists FAS (and this is the only information that a carrier will accept in a trouble ticket to prove to them that they actually give you FAS).
I hope this helps.
Best regards, Vlasis Hatzistavrou.
On 8/1/10 3:05 πμ, Ahmed Naji wrote:
Hi everyone,
Was just wondering what/if anyone is doing any work on FAS detection and spoofed ring tones. Be great to discuss some ideas.
Regards,
Ahmed.
-- Ahmed Naji
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees...
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Ahmed Naji
you could use the existing tone_detect app after the false answer to xfer to an extension of your choice if ring tone was detected. 2010/1/8 Ahmed Naji <a.alalousi@gmail.com>
Hi Valsis,
Thanks for this.
My line of thought is to tone-detect secondary ringing tones post 200(OK) to detect FAS (False Answer Supervision). This should eliminate at least a good proportion of calls, and it can be done real time through a script/modules/...etc.
Working along this thought, at least you are minimising the hit cost-wise to a few seconds at most.
As to answering machines and fake conferences, fake network messages ...etc, one can possibly use voice detection, perhaps with heuristic and statistical training.
Just a thought ..
Regards,
Ahmed.
2010/1/8 Vlasis Hatzistavrou (KTI) <vhatz@kinetix.gr>
Hello Ahmed,
I don't think there is a reliable way to detect FAS on a per call basis. Even audio detection software can be confused by strange ringtones, answering machines, etc.
The most reliable way we have found is to use statistics from CDRs and see if the INVITE-to-200(OK) delay averaged over a number of calls appears to be too small. If it is, then it is possible that you got FAS for those calls.
But this can only tell you if you have been experiencing FAS in past calls, ie you will not know you are getting FAS in real time.
It is still useful however: after you detect a possible FAS case via statistics you can place a few test calls yourself to verify that there actually exists FAS (and this is the only information that a carrier will accept in a trouble ticket to prove to them that they actually give you FAS).
I hope this helps.
Best regards, Vlasis Hatzistavrou.
On 8/1/10 3:05 πμ, Ahmed Naji wrote:
Hi everyone,
Was just wondering what/if anyone is doing any work on FAS detection and spoofed ring tones. Be great to discuss some ideas.
Regards,
Ahmed.
-- Ahmed Naji
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees...
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Ahmed Naji
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:+19193869900
That's what I had in mind + some other techniques to address things to help with answering machines and recorded messages. Vasilis rightly states some of the challenges in doing this, and he is also right on the legal and effort/benefit ratio. My aim behind all of this is not to really prosecute or dispute issues with carriers - we have an active policy of barring FAS routes after the second offence, so that's covered. The aim is to be able to detect such routes as an when they arise, and be proactive rather than reactive in dealing with this horrendous and disgusting practice that plagues the telecom industry. Best regards, Ahmed. 2010/1/8 Anthony Minessale <anthony.minessale@gmail.com>
you could use the existing tone_detect app after the false answer to xfer to an extension of your choice if ring tone was detected.
2010/1/8 Ahmed Naji <a.alalousi@gmail.com>
Hi Valsis,
Thanks for this.
My line of thought is to tone-detect secondary ringing tones post 200(OK) to detect FAS (False Answer Supervision). This should eliminate at least a good proportion of calls, and it can be done real time through a script/modules/...etc.
Working along this thought, at least you are minimising the hit cost-wise to a few seconds at most.
As to answering machines and fake conferences, fake network messages ...etc, one can possibly use voice detection, perhaps with heuristic and statistical training.
Just a thought ..
Regards,
Ahmed.
2010/1/8 Vlasis Hatzistavrou (KTI) <vhatz@kinetix.gr>
Hello Ahmed,
I don't think there is a reliable way to detect FAS on a per call basis. Even audio detection software can be confused by strange ringtones, answering machines, etc.
The most reliable way we have found is to use statistics from CDRs and see if the INVITE-to-200(OK) delay averaged over a number of calls appears to be too small. If it is, then it is possible that you got FAS for those calls.
But this can only tell you if you have been experiencing FAS in past calls, ie you will not know you are getting FAS in real time.
It is still useful however: after you detect a possible FAS case via statistics you can place a few test calls yourself to verify that there actually exists FAS (and this is the only information that a carrier will accept in a trouble ticket to prove to them that they actually give you FAS).
I hope this helps.
Best regards, Vlasis Hatzistavrou.
On 8/1/10 3:05 πμ, Ahmed Naji wrote:
Hi everyone,
Was just wondering what/if anyone is doing any work on FAS detection and spoofed ring tones. Be great to discuss some ideas.
Regards,
Ahmed.
-- Ahmed Naji
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees...
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Ahmed Naji
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:+19193869900
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Ahmed Naji
Hello Ahmed, On 8/1/10 6:07 μμ, Ahmed Naji wrote:
My line of thought is to tone-detect secondary ringing tones post 200(OK) to detect FAS (False Answer Supervision). This should eliminate at least a good proportion of calls, and it can be done real time through a script/modules/...etc.
Tone detection can work only in cases where actual tones are sent over the audio. There are some routes (especially mobile routes) where different ringtones or music can be used instead of ringback tones, which render the whole tone detection effort difficult. There are also cases where no audio at all is sent until the called party answers the phone. Not to mention that the "FASed" route's behavior can change over time, rendering an effort for permanent FAS detection futile.
Working along this thought, at least you are minimising the hit cost-wise to a few seconds at most.
Well, even if you manage to detect FAS given to you by your termination provider, you cannot really minimize loss, as typically calls are charged by the time difference between 200(OK) and BYE. You can't really dispute anything even if you manage to detect FAS in real time, because you cannot prove this in a court or to anyone else by presenting CDRs only. You can't really pinpoint in a list of calls which ones had FAS. And of course, the terminating partner who gives FAS will deny it most of the times.
As to answering machines and fake conferences, fake network messages ...etc, one can possibly use voice detection, perhaps with heuristic and statistical training.
You will need to combine tones detection, music detection, answering machine detection, which in the end makes the whole effort pointless. You will need to use DSP in software or in hardware to even try accomplish this (which means additional cost), and for what? For trying to detect FAS on a route which is not suitable for production use in the first place? And for today's wholesale margins? IMHO the best solution is policy: 1) gather statistics from your CDRs (FreeSWITCH has lots of variables that you can use in your CDRs) 2) place test calls in cases where the stats show a possible problem 3) send a trouble ticket to the offending carrier in cases of FAS and 4) stop using the route until the "problem" is fixed. There are "carriers" who give FAS issues all the time and you can't really deal with them... It's best to just avoid them completely after repeated FAS infractions. Best regards, Vlasis Hatzistavrou.
Hi Vasilis, Good points .. my comments inline. Regards, Ahmed. 2010/1/8 Vlasis Hatzistavrou (KTI) <vhatz@kinetix.gr>
Hello Ahmed,
On 8/1/10 6:07 μμ, Ahmed Naji wrote:
My line of thought is to tone-detect secondary ringing tones post 200(OK) to detect FAS (False Answer Supervision). This should eliminate at least a good proportion of calls, and it can be done real time through a script/modules/...etc.
Tone detection can work only in cases where actual tones are sent over the audio. There are some routes (especially mobile routes) where different ringtones or music can be used instead of ringback tones, which render the whole tone detection effort difficult. There are also cases where no audio at all is sent until the called party answers the phone. Not to mention that the "FASed" route's behavior can change over time, rendering an effort for permanent FAS detection futile.
True. One way of dealing with coloured ringing tones is quiet straight forward with acoustics libraries for C++ and such like. No audio is also possible to deal with in this fashion.
Working along this thought, at least you are minimising the hit
cost-wise to a few seconds at most.
Well, even if you manage to detect FAS given to you by your termination provider, you cannot really minimize loss, as typically calls are charged by the time difference between 200(OK) and BYE.
True, but the idea is to minimise this duration, and hangup the call ASAP. You can't really
dispute anything even if you manage to detect FAS in real time, because you cannot prove this in a court or to anyone else by presenting CDRs only. You can't really pinpoint in a list of calls which ones had FAS. And of course, the terminating partner who gives FAS will deny it most of the times.
Absolutely right on all accounts. At least in doing so, you are minimising the financial hit, particularly on busy routes that carry a high premium.
As to answering machines and fake conferences, fake network messages ...etc, one can possibly use voice detection, perhaps with heuristic and statistical training.
You will need to combine tones detection, music detection, answering machine detection, which in the end makes the whole effort pointless.
Debatable. Hard, yes, but pointless ? I don't really agree.
You will need to use DSP in software or in hardware to even try accomplish this (which means additional cost),
DSP techniques - to some extent, if you really want to go that far. The idea is to do it all in FS, and not really employ expensive software/hardware techniques as you so rightly state.
and for what? For trying to detect FAS on a route which is not suitable for production use in the first place? And for today's wholesale margins?
Here's the thing: even on those terms, it is worth it. For so many destinations (e.g. Central/Sub-Saharan Africa and such like), there really isn't much of a distinction between "reliable" wholesale routes and retail routes. You use the best you could to carry your traffic and my concern is for my retail customers. People like Vodafone, Orange and BT don't take too kindly to being FASed, and if you carry their traffic, then you by default are under contractual obligation to cushion the hit where they can prove a case. One case, for one of those routes that carry 250K minutes/day will bankrupt a small/medium carrier, even if you end up winning the legal argument. What I'm trying to do is not make an unusable route usable. Rather, to detect an unusable route ASAP, place the terminating carrier on a very short leash, and disconnect them as early as possible should they re-offend.
IMHO the best solution is policy:
1) gather statistics from your CDRs (FreeSWITCH has lots of variables that you can use in your CDRs) 2) place test calls in cases where the stats show a possible problem 3) send a trouble ticket to the offending carrier in cases of FAS and 4) stop using the route until the "problem" is fixed.
I hear what you're saying. And how much is the time and man effort involved in manually dealing with this ?
There are "carriers" who give FAS issues all the time and you can't really deal with them... It's best to just avoid them completely after repeated FAS infractions.
Best regards, Vlasis Hatzistavrou.
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Ahmed Naji
Hello Ahmed,
IMHO the best solution is policy:
1) gather statistics from your CDRs (FreeSWITCH has lots of variables that you can use in your CDRs) 2) place test calls in cases where the stats show a possible problem 3) send a trouble ticket to the offending carrier in cases of FAS and 4) stop using the route until the "problem" is fixed.
I hear what you're saying. And how much is the time and man effort involved in manually dealing with this ?
Unfortunately, it is a lot of work. In fact it is a 24x7 manual work... What makes things a bit easier is that a FAS route will have a short setup-connect delay, and statistics will definitely show a heavily FASed route, although a route with a small percentage of FAS will still go under the radar. And of course, using statistical methods doesn't give you results in real time... We have experimented with tone_detect app as Anthony Minesalle suggested for detecting tones to apply to FAS problems and it works very well. But after a while we dropped the whole FAS detection idea because of the so many different FAS scenarios out there... Plus, quite a few methods that monitor audio involve decompressing the incoming audio before processing it. This means that you need to have audio transcoding on FS, which a bad things in terms of perceived audio quality and CPU power/scaling. In that case you would almost certainly need quite a few G729 codec licenses, as most carriers use this codec to send you their traffic. Nonetheless if you want to pursue this and you need help I'd be happy to assist, as FAS is a huge problem for carriers. Best regards, Vlasis.
Nonetheless if you want to pursue this and you need help I'd be happy to assist, as FAS is a huge problem for carriers.
FYI - here's some guys advertising "multilingual FAS" - presumably for those crooked enough to want to inflate their margins in this manner and too thick to do it for themselves: http://www.calltermination.com/forums/thread270514.html --Dave
Hi David, Oh God, yes, them. They are Russians, based in Moscow. Personally, I think such flagrant abuse of technology for fraud should be pursued to the maximum possible legal extent, but alas .. Russian telcos, like the profitable mineral and carbon industries are Mafia territory. Regards, Ahmed. 2010/1/9 David Knell <dave@3c.co.uk>
Nonetheless if you want to pursue this and you need help I'd be happy to assist, as FAS is a huge problem for carriers.
FYI - here's some guys advertising "multilingual FAS" - presumably for those crooked enough to want to inflate their margins in this manner and too thick to do it for themselves: http://www.calltermination.com/forums/thread270514.html
--Dave
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Ahmed Naji
participants (6)
-
Ahmed Naji
-
Anthony Minessale
-
David Knell
-
Mathieu Rene
-
Michael Jerris
-
Vlasis Hatzistavrou (KTI)