Block calls by CNAM (CallerID Name) on OBI200?

<< < (5/6) > >>

Darv:
Thank you! That will help a lot.  I do not use GV only voip.ms, and I will be trying to put this on a linux box, and using TLS (sips), so I'll need to read some more about the options you've used.

Since I will be checking a list of 1000 CallerID numbers/names in a sql database or text file, it might take a bit longer which might allow the Obi to start to ring.  I will have to think about the race situation a bit more although it does have the advantage of not requiring the Yate server to be up.

Theoretically a blocked caller could repeatedly call, and each time the Yate would answer, and it would cost the voip.ms account money.  I'm not sure what the best way to reject a call is, while avoiding any cost.

The "link1" I posted above suggests the Obi can forward loop to the Yate and then back to the Obi (rather than forking and racing), unfortunately one of the links in there is dead and I don't yet understand the rest or how to configure that on the Obi. And,  I don't know what the consequences would be if the Yate server was down.  I'll keep reading.

azrobert:
If the race is lost, you can change the ring pattern to ring silence for 1 or 2 seconds. Now the phone port will ring (Phone LED will flash for 1 or 2 sec) until the call is rejected, but the physical ringer will be silent.

Ring Settings -> Ring Profile A -> Ring Pattern 1 -> RingPattern:
Default: 60(2+4)
Change it to: 60;2(0+2);58(2+4) or 60;1(0+1);59(2+4)
Ring for zero seconds followed by 2 seconds of silence then repeat ringing for 2 seconds followed by 4 seconds of silence.

The following was my original design, but I didn't post it because of the reliability problem. All calls are routed to Yate. Good calls are routed back to the OBi200. Bad calls are rejected with an auth error. If Yate is down, all calls are dropped.

regexroute.conf
Code:

[default]
;
; Lines beginning with ";" are comments
;

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

.*$=sip/sip:0@yy.yy.yy.tt:5063
; Routes good calls back to the OBi200
; Change yy.yy.yy.yy to the IP address of the OBi200
; 5063 is the X_UserAgentPort of SP4

[RejCall]

.*$=-;error=noauth
; This produces an authorization error and rejects the call.
 

 OBi200:

Voice Services -> SP1 Service -> X_InboundCallRoute:
sp4(100@xx.xx.xx.xx)

Routes all calls to Yate
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
Voice Services -> SP4 Service ->  X_UserAgentPort: 5063

Darv:
Thanks again, I will try it both ways.

The forking solution answers the call and plays the tone forever, and never hangs up.  That could be a problem, especially since I am paying for the call.

Ideally the Obi would fork and if Yate rejected the Caller ID then the call would receive a "603 Decline" code, and  the Obi would stop ringing, otherwise, if not rejected, just let the Obi ring.  Is that possible?

azrobert:
Yate doc has duration for one of the Tone parms, but I can't get it to work. Maybe you can.
http://docs.yate.ro/wiki/Tonegen

azrobert:
Here is another solution used with the forking method. Rejected calls are routed to a non-existent extension. The call is answered then dropped. The race is lost because this process takes 2-3 seconds, so you will have to use the Ring Pattern trick to keep the phone from ringing.

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]
.*$=;called=100
; This routes the call to a non-existent extension.
;The call is answered then dropped.

Navigation

[0] Message Index

[#] Next page

[*] Previous page