[Freeswitch-users] FAS detection with FS

Vlasis Hatzistavrou (KTI) vhatz at kinetix.gr
Fri Jan 8 08:48:21 PST 2010


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.




More information about the FreeSWITCH-users mailing list