December 12, 2019, 07:25:29 pm *
Welcome, Guest. Please login or register.
News:
 
   Forum Home   Search Login Register OBiTALK  
Pages: [1] 2
  Print  
Author Topic: Block calls by CNAM (CallerID Name) on OBI200?  (Read 2324 times)
Darv
Newbie
*
Posts: 16


« on: October 15, 2019, 10:21:22 pm »

Is there a way to block calls by Caller ID Name (CNAM) on the OBI200? 

I've also been trying to find how to block thousands of numbers, and usually asterisk/freepbx is recommended for these features but I think that is overkill and quite large and hard to install and maintain.

If Obi can't block by CNAM is there a simple script that could be used as a middle proxy to act as a call blocker (based on number or name) between voip.ms and the Obi200?

I see there are many "sip proxy" scripts but I'm not sure if that is what I would need for this use case. I'd like the smallest, most minimal thing to use to block calls and log them.

sample list of sip proxies https://www.voip-info.org/open-source-voip-software/
Logged
SteveInWA
Hero Member & Beta Tester
*****
Posts: 5816



« Reply #1 on: October 16, 2019, 02:44:06 pm »

Please do not start a new discussion on the same topic.  You already have a discussion going on here:

http://www.obitalk.com/forum/index.php?topic=16356

No, you cannot block calls by CNAM.  It would be a useless feature, given that most spam calls use spoofed telephone numbers and either no CNAM or the CNAM of the spoofed number.  Many calls from legitimate and from spammer numbers are using mobile phone numbers, and some carriers send a generic CNAM, such as "WIRELESS CALLER", which would not differentiate between a "good" caller and a "bad" caller.

On the other hand, if you have 1000 enemies, and you know the CNAM for each number, then refer to your original discussion.
Logged

--Steve

Google Voice Forum Product Expert

https://support.google.com/voice/community
Darv
Newbie
*
Posts: 16


« Reply #2 on: October 16, 2019, 06:39:52 pm »

The feature to block by CNAM was different than the feature to block unlimited numbers by Number, hence the separate posts.  The threads can be merged if they are too similar.

I've used CNAM blocking for years so it isn't useless, but I am not sure how to easily implement it on the Obi. Many survey companies use the same CNAM.  Having the feature doesn't mean anyone would need to use it, nor that it would be appropriate to use for all Names, only that it was available as an option.  I do not have "enemies", but I have accumulated a list of nuisance calls (numbers and names) that I'd like to continue to block.


Logged
SteveInWA
Hero Member & Beta Tester
*****
Posts: 5816



« Reply #3 on: October 16, 2019, 06:41:37 pm »

There simply is no ability to block by CNAM.
Logged

--Steve

Google Voice Forum Product Expert

https://support.google.com/voice/community
Lavarock7
Hero Member
*****
Posts: 548



« Reply #4 on: October 17, 2019, 07:54:41 am »

Are those blocked numbers often calling or is that each time you got a spam or telemarketer you blocked them?

I ask because there are better ways of blocking many of them, like NOMOROBO. I also use Voip.Ms and their 'automated attendant' to block most spammers/telemarketers. A simple message "Thanks for calling, press 3 to reach me' works wonders.

Yes, there are SOME people still using rotary dial and you can default them to a timeout that still gets through. Some robo calls hear a long message (simulating an answering machine) rather than a brief one (like a 'hello') and hang up.
Logged

My websites: Kona Coffee: http://ItsKona.Com and Web Hosting: http://PlanetAloha.Info
A simplified Voip explanation: http://voip.planet-aloha.com
Darv
Newbie
*
Posts: 16


« Reply #5 on: October 17, 2019, 09:44:25 am »

I will look into that, but it might also block (for example) the reminders from my dentist, or frustrate other legitimate calls that I haven't pre-"whitelisted".    

I am used to the system I have (specifically blocking numbers and names) but it resulted in a long list that the Obi can't seem to support.

I am looking at sip proxy scripts to see if they can be used in the middle as a call blocker, but they all seem to be quite complicated.
Logged
azrobert
Hero Member & Beta Tester
*****
Posts: 3943


« Reply #6 on: October 17, 2019, 10:43:31 am »

Another option is SipSorcery. It would be a relative easy setup, just a dial plan. SipSorcery uses Ruby programming language for their dial plans and I could help. You would be able to block by CallerID number and name. The only problem is the cost, $69/year.

https://www.sipsorcery.com/mainsite/Home/Pricing
Logged
Darv
Newbie
*
Posts: 16


« Reply #7 on: October 17, 2019, 11:36:03 am »

Interesting service but probably overkill.  I'm looking for a simple & free solution to block calls.  Call blocking is just string matching (on the number or name) and rejecting calls, so I was hoping it would be easy.
Logged
Darv
Newbie
*
Posts: 16


« Reply #8 on: October 18, 2019, 07:52:16 pm »

I am hoping someone with SIP experience can tell me if this would be on the right track:

If I locally use a "SIP Redirect server" that "SIP Registers" with my VOIP.MS account, it will receive all the incoming call INVITE notifications.  It would be a simple script, like the PJSIP Python "call" and "register" scripts.

This script will check the CallerID # and Name, and if they are not blacklisted it will send a "302 Redirect" to tell VOIP.MS to "SIP Contact" the OBI200's IP/Port.  
references: Wikipedia SIP Response Codes , PJSIP Redirect

If it is blacklisted I guess it sends a 486 busy or some other response code.

I then set the "ProxyServer" on the Obi200 to VOIP.MS as usual, but I should set the "RegistrarServer" to be  the SIP Redirect server (or is there a way to turn off RegistrarServer?) so the Obi doesn't receive calls directly from voip.ms and therefore won't ring if the number is blocked. I'm not sure if I would also need to set the "OutboundProxy" to VOIP.MS.

I hope authentication with VOIP.MS would still work for all incoming and outgoing calls on the OBI connected phones.

Does that sound reasonable?

« Last Edit: October 18, 2019, 07:57:32 pm by Darv » Logged
azrobert
Hero Member & Beta Tester
*****
Posts: 3943


« Reply #9 on: October 19, 2019, 06:19:44 am »

You could use Yate PBX. I know you didn't want to use a PBX, but Yate installs in a few minutes and you only need 1 config file when routing calls by IP address. Yate runs on different platforms, but I only used the Windows version. It took me about 15 minutes to code and test blocking by CallerID and Cnam. I already had Yate installed.

http://docs.yate.ro/wiki/Download

Click on "Yate 6.1.0-1" to install.
Logged
Darv
Newbie
*
Posts: 16


« Reply #10 on: October 19, 2019, 09:16:11 am »

Is the principle the same (Use Yate as a redirection server to block calls?) or how does it then tell the Obi to ring the phone on an incoming call, and accept outgoing calls from the phones attached to the Obi?

What are the Obi & Yate simple settings to make it work?  I'm looking for reliability and something as simple as possible.

I don't want a PBX handling the audio (RTP/SRTP) as that would slow things down and add potential errors.  The audio stream needs to be directly between the Voip.ms server and the Obi, I just need something to simply block Caller Names/Numbers and then have the Obi take over the call.
Logged
Sheffield_Steve
Full Member
***
Posts: 108


« Reply #11 on: October 19, 2019, 09:24:43 am »

I know you are asking about callerID NAME, but why won't the regular caller ID NUMBER filtering in voip.ms work?
Logged
azrobert
Hero Member & Beta Tester
*****
Posts: 3943


« Reply #12 on: October 19, 2019, 09:43:46 am »

You would route calls to Yate and then Yate would route them back to the OBi200 after selectively rejecting. I don't think anyone on this forum can help with what you want to do. Try here:
https://www.dslreports.com/forum/voip
Logged
Darv
Newbie
*
Posts: 16


« Reply #13 on: October 19, 2019, 10:07:46 am »

I know you are asking about callerID NAME, but why won't the regular caller ID NUMBER filtering in voip.ms work?

I'm sure it would work, I just want the option to block by Name and the ability to log blocked calls to quickly see if a legitimate call is being blocked by a filter intended for someone else (rare).
Logged
Darv
Newbie
*
Posts: 16


« Reply #14 on: October 19, 2019, 12:56:09 pm »


I then set the "ProxyServer" on the Obi200 to VOIP.MS as usual, but I should set the "RegistrarServer" to be  the SIP Redirect server (or is there a way to turn off RegistrarServer?) so the Obi doesn't receive calls directly from voip.ms and therefore won't ring if the number is blocked.


The Manual says:

RegistrarServer: Hostname or IP address of the SIP registrar. If a value is specified, device sends REGISTER to the given server; otherwise REGISTER is sent to ProxyServer

But is there any way to turn off SIP Registration on the Obi200?
Logged
azrobert
Hero Member & Beta Tester
*****
Posts: 3943


« Reply #15 on: October 19, 2019, 01:35:36 pm »

How about the following? The OBi200 forks all calls to the phone port and Yate. If Yate gets a reject match, it answers the call with a SIT tone and the OBi200 phone doesn't ring. You can probably send the call to another service that will produce an error message. If no reject match, Yate produces an authorization error for the call from the OBi200 and the inbound call rings the OBi200 phone. If Yate is down, all calls will ring the OBi200 phone.
Logged
drgeoff
Hero Member & Beta Tester
*****
Posts: 4497


« Reply #16 on: October 19, 2019, 01:40:24 pm »

But is there any way to turn off SIP Registration on the Obi200?
X_RegisterEnable tick box under the relevant Voice  Services, SPx.
« Last Edit: October 19, 2019, 05:30:17 pm by drgeoff » Logged
Darv
Newbie
*
Posts: 16


« Reply #17 on: October 19, 2019, 02:49:13 pm »

X_RegisterEnable tick box under the relevant Voice  Services, SPx.

Thank you!

How about the following? The OBi200 forks all calls to the phone port and Yate. If Yate gets a reject match, it answers the call with a SIT tone and the OBi200 phone doesn't ring. You can probably send the call to another service that will produce an error message. If no reject match, Yate produces an authorization error for the call from the OBi200 and the inbound call rings the OBi200 phone. If Yate is down, all calls will ring the OBi200 phone.

Interesting, but is there a guarantee that the phone doesn't ring, or is it just a race and hope that it doesn't? 

Also, I don't want another call service, I'm trying to keep it simple and local.  If Yate answers and can send the tone itself that would be better, but isn't answering the phone theoretically more expensive than sending a busy (or other) response code?

I don't know how to configure that type of setup in Obi and Yate, but these links make it seem complicated link1 link2.  I'll have to read more about Yate.
Logged
azrobert
Hero Member & Beta Tester
*****
Posts: 3943


« Reply #18 on: October 19, 2019, 03:39:53 pm »

It is a race, but I tried it several times and my phone didn't ring. If you do have a problem, you can change the OBi200 ring pattern to have 1 or 2 seconds of silence at the beginning.

Yate can answer the call with a SIT tone. Yate must answer the call to stop the phone ringing. When one leg of a forked call fails the other leg continues to ring.
« Last Edit: October 19, 2019, 04:55:25 pm by azrobert » Logged
azrobert
Hero Member & Beta Tester
*****
Posts: 3943


« Reply #19 on: October 19, 2019, 03:50:03 pm »

Download Yate install for Windows:
http://voip.null.ro/tarballs/yate6/yate-6.1.0-1-setup.exe

Select Run

I think you take all the defaults (it's been a long time since my last install).

Yate files are stored at "Program Files (x86)/Yate"

Again, I think you only need 1 config file.

regexroute.conf
Code:
[default]
;
; Lines beginning with ";" are comments
;

; Repeat the following as needed
${caller}^8005551212$= goto RejCall
${callername}^unknown$= goto RejCall

.*$=-;error=noauth
; This produces an authorization error and the call processing ends.
; The call leg to the OBI200 phone is not affected.

[RejCall]
.*$=tone/info
; This answers the call with a SIT tone.

Copy the above code into Notepad. Save it as "regexroute.conf".
Do NOT save it as a text file.
Select "All Files" as the type.
Copy the conf file to "Program Files (x86)/Yate/conf.d"

Yate is installed as a Service.
Start Yate by searching for "services app" and click on it.
The Service name is "Yet Another Telephony Engine".
Right click on it and select Start.
If you want to start Yate on boot, right click and select Properties.
Change Startup Type to "Automatic".
Stop and Start Yate after any config changes.

You can also start Yate as an application.
The app is found here "Program Files (x86)/Yate/yate-console"
Double click to start it.
You can create a desktop shortcut.
The advantage of the app is that error messages are displayed in the app window.
Stop the app by closing the window.

Edit:

I forgot the OBi200 mods.

Voice Services -> SPx Service -> X_InboundCallRoute:
ph,sp4(100@xx.xx.xx.xx)

Change xx.xx.xx.xx to the IP address of the computer running Yate.

Service Providers -> ITSP Profile D -> SIP -> ProxyServer: 127.0.0.1
Service Providers -> ITSP Profile D -> SIP -> X_SpoofCallerID: Checked
Voice Services -> SP4 Service -> AuthUserName: anything
Voice Services -> SP4 Service -> X_RegisterEnable: unchecked
Voice Services -> SP4 Service -> X_ServProvProfile: D

If you have a non-GV trunk, you can use it instead of a dummy trunk defined on SP4. X_SpoofCallerID must be checked.
« Last Edit: October 19, 2019, 04:58:30 pm by azrobert » Logged
Pages: [1] 2
  Print  
 
Jump to:  

Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC