OBiTALK Community

General Support => On-Topic: Obihai and OBi Products => Topic started by: Patriot9471 on May 14, 2016, 07:37:10 PM

Title: Using Obi 110 to block Robocalls by utilizing AA
Post by: Patriot9471 on May 14, 2016, 07:37:10 PM
Everyone,

I am absolutely new to Obi and Voice call routing world. I have a VoIP service that has it's own ATA and outputs to a RG11. My idea is to connect that port to OBI 110 Line port and then use AA to screen calls by messaging telemarketers to hang up if they are selling or requite the caller to use an announced 2 digit number to continue the call. Additionally I want to allow certain phone numbers to bypass AA, based on a small whitelist.

First of all, looks like this can be done however ....the policy model for OBI is quite complex and I would appreciate if someone can guide me through the settings required.

Thanks in advance. 
Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: ianobi on May 15, 2016, 08:43:05 AM
What you suggest can be done. The output of your existing voip ata will look like a PSTN line to the Line Port of the OBi110. However, there's a few things to consider:

Your existing ata coverts speech from digital to audio. If you now feed that audio to the OBi110, then it will convert the audio to digital, then back to audio to output to the Phone Port. All these conversions may lead to a lowering of speech quality, which may or may not be noticeable.

Assuming that you are in the US and you existing ata outputs CallerID in the standard North American format, then the OBi110 will add around four seconds delay while processing the CallerID before ringing its Phone Port.


QuoteMy idea is to connect that port to OBI 110 Line port and then use AA to screen calls by messaging telemarketers to hang up if they are selling or requite the caller to use an announced 2 digit number to continue the call.

To do precisely what you wish would require some modification to the Auto Attendant settings. However, the default setting Main Menu starts "press 1 to continue this call". This may be enough to stop telemarketers. After repeating the announcement three times the Auto Attendant will terminate the call if no response is received. Additionally, you would have to disable options 2 and 3 of the Main Menu – that's not too difficult if you only intend to use the Auto Attendant for screening telemarketing calls.


QuoteAdditionally I want to allow certain phone numbers to bypass AA, based on a small whitelist.

This is quite easy. If the white list is quite small than something like this would work:

Physical Interfaces > LINE Port > InboundCallRoute:
{(12222222222|13333333333|14444444444):ph},{aa}

The first rule is the white list sending calls from those numbers straight to the OBi110 Phone Port. The second rule sends all other calls to the Auto Attendant. The first rule could be made to look neater if there's a longer list of numbers by using a User Defined Digit Map.

If you want to try this out, then post back and myself or others will help with a more detailed reply.

Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: Patriot9471 on May 15, 2016, 10:40:20 AM
ianobi ... thank you for your help.

I have connected Obi 110 LINE port to my PSTN line (voip ata)
I have connected Obi 110 PHONE port to my Phone

I have a dial tone on my phone

Here is what I did in the settings

Line Port Settings
Line Port is enabled
Inboundcall route {(1XXXXXXXXXX|13333333333|14444444444):ph},{aa}
Everything else is default

AA Settings
AA is enabled
Everything else is default

AA Prompts, I have disabled prompts 2 and 3

So here is what I am getting

First
Inbound call to my home phone
When I call in using a non whitelisted number I get AA with message, "press 1 to continue the call" . When I press 1 , the phone rings and the call gets successfully established and that is great!! . Problem is that same thing happens when I call from a Whitelisted number also. Perhaps the whitelist syntax might be an issue.

Second
Outbound call from my phone
I get a dialtone and then I proceed to call a number and nothing happens. The PHONE port is enabled but everything is a default.

Thanks




Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: ianobi on May 15, 2016, 11:23:37 AM
To see what's happening you need to look at Status > Call History after a call. This can only be viewed via the local web page. Dial ***1 for the local ip address. The username and password will both be "admin".

I suspect that CallerID is either not be received by the OBi110 or is not being correctly interpreted – maybe your existing ata only passes on ten digits? The white list numbers have to exactly match what is shown in the Call History for the calls that you wish to go straight through to the Phone Port. Other CallerIDs or no CallerID calls will be sent to the AA.

With the outgoing problem, again look at the Call History to see where calls are routing. With default settings the OBi110 should send the call out via the Line Port. This setting should be as follows:
Physical Interfaces > PHONE Port > PrimaryLine: PSTN Line

To make sure calls are rejected by the AA when no input is received after three repeats of the announcement change this to blank:
Voice Services > Auto Attendant > NumberOnNoInput
The default is "0". Delete that and save with a blank setting.

If you are making changes via the OBiTALK Expert Pages portal, then continue with that method. Only use the web page to view Call History and to check settings have changed.

Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: ianobi on May 15, 2016, 11:32:59 AM
Even though you have disabled prompts 2 and 3, the functions will still work. If you wish to prevent anyone who may know this taking advantage and making calls, change to these settings:

Voice Services > Auto Attendant > DigitMap:
(0)

Voice Services > Auto Attendant > OutboundCallRoute:
{0:ph}
Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: Patriot9471 on May 15, 2016, 01:13:52 PM
Ianobi

Thank you for your feedback and I have the management access via the webpage and I am logged in.

Based on your suggestion I was able to look at the Caller-Id format of the inbound call and I was able to adjust the whitelist format to match and it worked !! thank you. The Caller-Id format in my case is "XXXXXXXXXX" with no prefix or dashes. Problem solved

To take it a step further ... i would like to record a AA custom message and then allow the caller to enter a 2 digit number to ring the phone and I want to suppress every other prompt about call back number etc , with a hangup of the call after 3 announcements.


Outbound problem still persists. I checked my Phone settings and that is mapped to the PSTN line and the call status shows that it is going outbound.

Thank you for your continuing help

Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: Patriot9471 on May 15, 2016, 01:22:32 PM
Additional piece of info about the Outbound call

I looked at the Physical port status of the ports as I was making the outbound call and picked up the phone to get dialtone the Phone port showed "Off Hook" while the Line port continued to show "On Hook" when I dialed .. it took about 4 seconds after dialing for the line port to go "off hook" but at that point no call was made.
Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: ianobi on May 16, 2016, 02:21:46 AM
I'll have to think about the two digit input for the incoming calls. That might be complicated. Getting outgoing working is the priority for now.

As a test, pick up the phone attached to the OBi110, you will receive dial tone. This comes from the OBi110. Press "#". This should connect you directly to your existing ata, which should give you its dial tone. Can you dial out from the phone connected to the OBi110 when connected in this way?

When you say no call was made, does Call History show anything regarding the attempted call? Were any tones returned?
Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: ianobi on May 16, 2016, 04:23:35 AM
QuoteTo take it a step further ... i would like to record a AA custom message and then allow the caller to enter a 2 digit number to ring the phone and I want to suppress every other prompt about call back number etc , with a hangup of the call after 3 announcements.

OK, this can be done with a few provisos. The two digit number must start with "2" and the following number must be not be used as a speed dial. The format must be 2x#. The AA Options 1,2 & 3 cannot have their basic functions changed, but using this config only Option 2 works. This example uses 29# as the two digit number.

Voice Services > Auto Attendant > DigitMap:
(9)

Voice Services > Auto Attendant > OutboundCallRoute:
{9:ph}

The "2" is absorbed by the AA Main Menu, then "9" routes the call to the OBi110 Phone Port. The hash after 29, i.e. 29#, is needed to tell the AA that 29 is the complete number.

This method works with any length number, but you need to avoid clashes with speed dials. 21# will not work as this is permanently allocated as a speed dial to your OBi softphone number.

Call disconnect after three announcements is achieved by leaving this setting blank:
Voice Services > Auto Attendant > NumberOnNoInput


I'm opting out of the changing prompts question. I advise searching the forum for "prompts".  azrobert has written some good posts regarding the subject. It is also in the AdminGuide. The forum search is not very good, I advise this method using Google Search:
site:obitalk.com "Search Key Words"

I'll stay with you on all the other issues   :) 


Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: Patriot9471 on May 16, 2016, 09:21:31 AM
Thank you Ianobi.

Based on your suggestion for outbound calling, I picked up the phone and had a dialtone, then I pressed # and got dialtone again. At this point I dialed a 10 digit number and I was immediately connected. It would be great if I don't have to press # every time to dial out ... I can live with it but my wife ... that would be another story :)

About the requirement for a 2 digit number, it could be a single digit number as long as I have ability to set a number between 0 to 10. I just don't want it to be 1 because telemarketers might be able to program that in their robocall dialing action.

Regards
Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: ianobi on May 16, 2016, 09:42:03 AM
Outbound calling:

I think that we may simply be into a DigitMap problem here. By default, the OBi will send out any string of numbers,  but if the string is not a good match with its internal digitmap, then it will wait up to ten seconds before deciding that you have finished dialling. It may be that your original ata is timing out during this delay.

It seems that your standard requirement via your original ata is to send ten digits. This is not a default setting for an OBi110 Line Port. Try this digitmap and let me know the results. Please let me know exactly what Call History records for each call.

Physical Interfaces -> LINE Port -> DigitMap :
(1xxxxxxxxxx|[2-9]xxxxxxxxx|xx.S4)

Let me know what number formats you normally dial and this digitmap could well be fine tuned to your needs.
Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: ianobi on May 16, 2016, 09:51:13 AM
QuoteAbout the requirement for a 2 digit number, it could be a single digit number as long as I have ability to set a number between 0 to 10. I just don't want it to be 1 because telemarketers might be able to program that in their robocall dialing action.

I think there's a misunderstanding here. In my example the caller will hear your prompt: "to continue this call please press 29 followed by the pound key". This will replace the "welcome" prompt first heard by any call routed to AA. Genuine callers will dial 29#. The 2 gets absorbed by the AA Main Menu, the 9 routes the call to Phone Port. The pound key simply tells the AA that 29 is all that will be dialled. No calls get through without dialling 29#.


Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: Patriot9471 on May 21, 2016, 12:37:08 PM
Ianobi,

Sorry for the latent reply, I was out on business travel.

So your last suggestion about fixing the outbound calling did not work. Here is what I did

I took your digit map (1xxxxxxxxxx|[2-9]xxxxxxxxx|xx.S4) and applied it to the LINE interface, submit and rebooted. The result was the same. I got the dialtone from Obi when I took the phone off hook, and I dialed my 10 digit number and the phone did not dial. I also changed the digitmap and took out the 1 prefix from digit map and the same thing happened. I normally dial a 10 digit number example : 555-555-5555.

My ATA is from oOma and I have been using it since 2011 (if this info helps)
Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: ianobi on May 22, 2016, 01:11:00 AM
Please tell what Call History shows for the failed outgoing calls.
Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: Patriot9471 on May 22, 2016, 06:42:42 AM
From Call History

Call 1   05/22/2016    06:37:43   
Terminal ID   PHONE1   LINE1
Peer Name      
Peer Number   5555555555   5555555555
Direction   Outbound   Outbound
06:37:43   New Call   
06:37:47      Call Connected
06:37:55      End Call
Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: ianobi on May 22, 2016, 12:06:30 PM
Call History shows that the OBi is sending out the ten digits to the Line Port as you dial them from the Phone Port. Maybe the oOma ata has a problem with the timings of being seized (connected) and then with the DTMF tones being sent. Try increasing this setting first:

Physical Interfaces > LINE Port > LINE Port > DialDelay: 1000

The default timing of the tones should be more than long enough, but if the Dial Delay increase does not solve the problem, then try increasing them like so:

Line Interfaces > LINE Port > LINE Port > DialDigitOnTime: 400
Line Interfaces > LINE Port> LINE Port > DialDigitOffTime: 300

Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: Patriot9471 on May 22, 2016, 04:29:47 PM
Yep ... just changed the Line setting to DialDelay: 1000 and it worked , it takes a good 8 seconds before I hear the ring back from the called party. I can totally live with that, although it would be great to get the delay down to a reasonable 2-3 seconds :)

I am checking the inbound settings now ... will post on that shortly.

Thanks
Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: Patriot9471 on May 22, 2016, 04:40:56 PM
IanObi

I just tested the inbound call settings and made the changes that you suggested and it worked. The voice prompts are still set at default so I have to change those but dialing 29# connects the call successfully.

Thank you for all your help. I am going to post update soon after I change the voice prompts.
Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: ianobi on May 23, 2016, 12:02:39 AM
Now all the basics work it's time for some fine tuning. This should save you two seconds:
Physical Interfaces -> LINE Port -> DigitMap :
(1xxxxxxxxxx|[2-9]xxxxxxxxxS0|xx.S4)

It does mean that you cannot dial any number longer than ten digits with a first digit of 2 through 9. I'm guessing that will never happen anyhow.


Have another look at this:
Physical Interfaces > LINE Port > LINE Port > DialDelay: 1000

Obviously in your case it needs to be more than 500, but maybe it can be less than 1000. Its ms so 1000 = 1 second. Try reducing it 100 at a time until it stops working reliably, then add 100.

The OBi110 Line Port has to send a string of DTMF tones to the oOma ata, so it cannot be instant. In your case a ten digit number needs ten bursts of DTMF tones with gaps between them. The default settings are set to allow for long and "lossy" PSTN lines – 200ms tones with 200ms gaps. That's four seconds for ten digits. You have a PSTN line of a few feet long, so it should be perfect. I have a PSTN line of a couple of miles and these settings work for me:

Line Interfaces > LINE Port > LINE Port > DialDigitOnTime: 80
Line Interfaces > LINE Port> LINE Port > DialDigitOffTime: 80

In your case you might try:

Line Interfaces > LINE Port > LINE Port > DialDigitOnTime: 80
Line Interfaces > LINE Port> LINE Port > DialDigitOffTime: 50

If it works reliably, then you have reduced the dialling time for ten digits to 1.3 seconds plus whatever works for the DialDelay setting. If DialDelay is say 700ms, then total dialling time would be 2 seconds. Of course, the oOma may add a little and the called party may take a second or so to respond.

Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: Patriot9471 on May 24, 2016, 07:28:51 AM
Hi Ianobi ... here is the latest update

As per your suggestion I changed the following
Physical Interfaces -> LINE Port -> DigitMap :
(1xxxxxxxxxx|[2-9]xxxxxxxxxS0|xx.S4)

however once I applied and rebooted I was unable to make outbound calls so I reverted back to my old DigitMap and it has been working consistently, although I still have a lag in making the outbound calls.
(xxxxxxxxxx|[2-9]xxxxxxxxx|xx.S4)

The Dial delay setting at 1000 is working very consistently for me and any changes to the downside, prevent me from dialing out ... tried number of settings 900, 800, 700 and the setting at 1000 is only setting that works for me.

Your final suggestion about DialDigitOnTime and DialDigitOffTime worked for me and improved the dial out time and my settings look like the following

Line Interfaces > LINE Port > LINE Port > DialDigitOnTime: 80
Line Interfaces > LINE Port> LINE Port > DialDigitOffTime: 50

So overall, I am satisfied with the current performance of my ability to dial out.

The inbound settings are working great and I was able to record a Voice Prompt that I am using to announce my message to inbound callers, along with the digits to continue the call.

Welcome         &pause()
InvalidPin         No Value
EnterPin         No Value
MenuTitle         &pause()
Menu                 %User1%
PleaseWait         &pause()
EnterNumber      &pause()
Bye                 No Value

In my next update I will post the procedure that I followed to record and use my custom voice prompt.











Title: Re: Using Obi 110 to block Robocalls by utilizing AA
Post by: ianobi on May 24, 2016, 08:31:42 AM
Looks like the oOma ata needs a one second connection time and then does not like digits sent to it instantly. It's all about empirical testing aka trial and error   :)