I was asked to help implement AI number call screening using TAG protect for outgoing calls using the VOIP phones in a large yeshiva. I was in touch with our phone provider who is happy to do it, he uses the same technologies mentioned in this post by @PleaseSmileToday , namely Netsapien via skyswitch. In contact with his provider, our provider asked about implementing a screening service and was told that it definitely is possible, בזה"ל:
“NetSapiens has a feature called a web responder ( Web Responders ). This feature allows Skyswitch to send call control to your own web server. The web responder expects a XML response with an action (forward, gather, play). Forward will forward calls to the desired destination. Gather will receive the input from the caller (e.g. caller presses 1). Play will play the desired audio to the caller. When this is setup and a call is made, we will send HTTP POST to your endpoint that will contain the ANI and DNIS. At this point you can use your API to determine whether the DNIS is allowed or not. If its not allowed you can play the audio and then we can create a custom destination for you to forward the call so that it hangs up. If the number is allowed you can use the forward action to forward the call to the DNIS.” עכ"ל.
From what I understand this would require setting up an intermediate server which receives the xml, queries TAG protect, performs basic logging and caching, and then returns an xml response.
Does anyone have enough familiarity with NetSapiens / Skyswitch to guide me into where and how to set up the request - that it send to the intermediate server, and / or can offer some specific guidance, advice, or experience in implementing this project?
I may not be the correct person to answer here. Our company does VoIP and uses the Netsapien system. I am just not involved at all in that department.
I did see that Teklink offers this service and I know that they use Skyswitch, so it is definitely doable.
What you quoted sounds like it looks up each number live. I am not sure if that is what you need, there may be an option to add a block of numbers that you want to block and once a day it should get updated. Like that you don’t need to look up each number.
FreePDX should be relatively easy - are you using it? Also to clarify (for the direction of the thread) - I am not looking for a 3rd party solution. I want to plug this into netsapiens / skyswitch. I am looking for some guidance from someone who has experience in these technologies.
i manage the phones for a yeshiva. we use freepbx and i would really like to set it up with tag’s API. do you have it figured out. can i get some instructions. tyvm.
I just spoke to our vendor and asked him about this. He told me that he is implementing it already and it will be available to all customers.
He said that Tag Protect would have charged him $20 per customer that uses the service…
He got it instead of Vaad Mishmeres from Skvere, they initially wanted to charge him a one time charge of $300 but waived the fee.
He said that the block happens in the part of a phone called “Dial Translation” which is where the server looks for any rules, for example this is where he blocks the “605” area code (for more about this read here) and also has a blocklist of hotlines.
He also said that he made a feature for a camp that any phone call more than 15 minutes hangs up. And the number is blocked from incoming and outgoing calls for the next 30 minutes…
This is beside him blocking all hotlines.
I also told him about Yiddish Labs (Read about it here and my referral link here), and he said that he will look into it to see if it feasible to have yiddish transcription for yiddish calls.
TLDR: Feature is called “Dial Translation”
Tag Protect charges $20 per Customer.
Vaad Mishmeres was free.2
What I ended up deploying FreePBX and using a python script to screen every outgoing call. It was actually relatively easy to set up - and appreciate the feedback from all those who reached out in private with assistance. If anyone is working on a similiar project, feel free to reach out.
You can’t “bake it in” its an internet API. It would have to be queried before each outgoing call. They update on their end, and you look up the number before placing a call. You send them a number and they respond allowed or blocked. You can’t get a list of numbers from them, they won’t give it to you.