Call Screening Bounties Wanted

kerryg
Posts: 6793
Member Since:
2006-05-31

I spoke with a former client this past week and they would really like to see a modification to the privacy manager to allow for proper call screening.

If privacy manager is enabled for an extension
Ask caller to record their name
Dial Extension
Play "Incoming call from" + Recorded Name
Play "Press 1 to accept this call, 2 to send to voicemail, or 3 to reject"

If user hits 1 send call to extension
If user hits 2 send call to voicemail
If user hits 3 hang up

I have already talked to Schmoozecom who think this could be done fairly quickly by one of their guys if there is any demand for it. The client is in for $200 to get this bounty call started.

If this project gets some traction then Fonality will kick in some to help it get going too.

--

Kerry Garrison
http://www.VoipStore.com - http://3cxbook.com
(888) VOIPSTORE - (888) 864-7786



SkykingOH
Posts: 9675
Member Since:
2007-12-17
With the feature be included

With the feature be included in the trixbox package as a base feature?

I assume that it would also be submitted back to FreePBX?

Any budgetary estimates?

Ideally it would be an option in Find Me Follow Me.

Scott

--

Scott

aka "Skyking"



kerryg
Posts: 6793
Member Since:
2006-05-31
The plan is that it would be

The plan is that it would be a modification to the existing FreePBX code and not trixbox specific. Estimate is around $1000 or so. If it is a change to privacy manager then it should be reflective of the primary extension privacy manager setting.

--

Kerry Garrison
http://www.VoipStore.com - http://3cxbook.com
(888) VOIPSTORE - (888) 864-7786



SkykingOH
Posts: 9675
Member Since:
2007-12-17
Quote: If it is a change to
Quote:
If it is a change to privacy manager then it should be reflective of the primary extension privacy manager setting.

That makes sense. How do you envision it would work if find mm/follow me was enabled?

You can count us in for $100.00

Scott

--

Scott

aka "Skyking"



kerryg
Posts: 6793
Member Since:
2006-05-31
I would think it should pass

I would think it should pass along the recorded name to whoever picks up the phone.

--

Kerry Garrison
http://www.VoipStore.com - http://3cxbook.com
(888) VOIPSTORE - (888) 864-7786



citapinc
Posts: 245
Member Since:
2007-10-13
I'm in for ....

OK I'm in for $50 at the moment.

I already have the Privacy Manager enabled but it does nothing right now even on blocked calls. So having this features as part of the Privacy Manger sorta worries me.

I'd rather see it as part of the Follow Me/Find Me feature instead to be honest with you.

Thanks!

Dean
Anaheim, CA



kerryg
Posts: 6793
Member Since:
2006-05-31
If it is at the extension

If it is at the extension level, then before it hits the FollowMe rule it can decide to screen the call or not. This way it works regardless of whether or not you have FollowMe active.

--

Kerry Garrison
http://www.VoipStore.com - http://3cxbook.com
(888) VOIPSTORE - (888) 864-7786



ethans
Posts: 519
Member Since:
2007-01-16
Yes, Kerry is right. The

Yes, Kerry is right. The fact the privacy manager may or may not be broken right now is irrelevant because screening will be a completely separate option of Privacy manager and will be all new code and will function both as a call to the user or a follow-me to the user. If the current implementation of privacy manager is in fact broken, it can be fixed in the future and will still remain an option of the drop-down.

Right now the privacy manager is simply a way to force a user who has their caller id blocked to put in a 10 digit phone number which would then be passed as caller id to the phone. The screening option will force the user record their name before the extension is rung and the called party will then have the option of accepting or rejecting the call. It is only related to the privacy manager in such that it will be in the same drop-down of options. It will function completely separately.



ethans
Posts: 519
Member Since:
2007-01-16
Here's how it worked

Here's how it worked out:

When someone calls your extension (even through a follow-me, say, to your cell phone) before the call is connected to anything the caller must say their name which is recorded. The call is then initiated and the caller beings to hear ringing. Meanwhile, whatever phone you answer the call on will receive the callers name recording and a message with the following options:
Dial 1 if you wish to immediately connect to the incoming call
Dial 2 if you wish to send this caller to voicemail
Dial 3 to send this caller to the torture menus (music on hold forever)
Dial 4 to send this caller to a polite don't call menu (send special information tone for telemarketers)

Each user has two additional privacy manager options now: Screen Caller - No Memory and Screen Caller - Memory.

If no memory screening is selected, it will not cache the caller-id-based recording. This is useful if you get calls from an organization that has an outbound caller-id that may be the same for multiple people. This option will force every call to your extension to record their name.

The screening with memory option will remember who has called your entire organization (not just you) in the past and automatically play that previous screening recording to you. The call is still screened, but that comes with the caveat previously mentioned.

It gets interesting because screened callers are cached organization wide, and the settings are user-specific. This isn't horrible because it will only remove the previously recorded screen if an individual user with no memory gets called by that caller and they a new recording will replace it so subsequent calls to users who have memory enabled will still pull the most recent recording.

I have a few more things to figure out, but it's going rather well right now, so I expect it to be done this weekend.



ethans
Posts: 519
Member Since:
2007-01-16
We have $350. The code is

We have $350. The code is done. We need some more contributions to reach the $1,000. If you are looking for the ability to screen your calls consider contributing.



kerryg
Posts: 6793
Member Since:
2006-05-31
Fonality is in for $250.

Fonality is in for $250.

--

Kerry Garrison
http://www.VoipStore.com - http://3cxbook.com
(888) VOIPSTORE - (888) 864-7786



kb9mwr
Posts: 166
Member Since:
2006-09-09
I'm always interested in

I'm always interested in call routing options. I always view the privacy manager as a last resort.

More so than a modification to the privacy manager, I'd like to see flexibility at the inbound route/destination level. I'd like to see this ability to set the blacklist destination become a standard part of the blacklist module.

And an option to catch / redirect unknown numbers:
http://trixbox.org/forums/trixbox-forums/help/blocking-unknown-nu...
Right now the only option is to implement the privacy manager to deal with them. I'd love to be able to set a destination for these too.

If anyone plans to tackle either of those call screening issues let me know, I'd consider contributing to either.



SkykingOH
Posts: 9675
Member Since:
2007-12-17
Status - donations

We have -

Fonality - $250.00
Me - $100.00
citapinc - $50.00

That's $400.00

Everybody complains about features - This is almost done - Can we try and hit the Bounty this weekend?

Scott

--

Scott

aka "Skyking"



nothings_found
Posts: 106
Member Since:
2007-03-10
I already have this, just

I already have this, just not in a pretty module for FreePBX :( Its not pretty but works great :D


[screen]
;screen-record: Please record your name press pound when finished.
;screen-from: You have a call from
;screen-accept: Press 1 to accept 2 to reject, and 3 to transfer.
exten => s,1,Wait(1)
;Enter Phone Number to Call In Forwarding
exten => s,2,Set(PHONENUMBER=YOUREXTERNALNUMBER)
;Dial Initial Extenion
exten => s,3,Dial(SIP/INTERNAL INITIAL,15,mt)
exten => s,4,Playback(followme/status)
exten => s,5,Playback(priv-recordintro&then-press-pound)
exten => s,6,Set(SCREENFILE=/tmp/screen-${CALLERID(number)}-${EPOCH})
exten => s,7,Record(${SCREENFILE}.ulaw|2|10)
exten => s,8,Playback(auth-thankyou&pls-wait-connect-call)
;Dial Extension and include [macro-screen]
exten => s,9,Dial(SIP/VP-SIP-SFO/${PHONENUMBER},30,mtM(screen^${SCREENFILE}))
;Goto Voice Mail If We Reject Call
exten => s,10,Playback(custom/sorry)
exten => s,11,Goto(17);VM
exten => s,17,Goto(ext-local,vmu8004,1)
exten => s,18,Playback(goodbye)
exten => s,19,Hangup
exten => s,107,Goto(17)
exten => h,1,noop(${ARG2})
exten => h,2,System(/bin/rm -f ${ARG1}.ulaw)

[macro-screen]
;this is called in the Dial statement using M
;ARG1 recorded name to play back
;TODO: add a response timeout, after which the message is repeated
;(needed for outgoing zap fxo channels) and absolute timeout, after
;which VM is used
;exten => s,1,noop(${ARG1})
exten => s,1,noop(${ARG1})
exten => s,2,Playback(custom/call-from) ;you have an incoming call from:
exten => s,3,Playback(${ARG1})
;press 1 to accept 2 to reject 3 to transfer
exten => s,4,Read(ACCEPT|custom/options|1)
exten => s,5,Gotoif($["${ACCEPT}"="1"]?50) ;connect/bridge
exten => s,6,Gotoif($["${ACCEPT}"="2"]?30) ;reject to vm/fail to main context
exten => s,7,Gotoif($["${ACCEPT}"="3"]?40) ;transfer
exten => s,8,Gotoif($["${ACCEPT}"="4"]?30:30) ;any thing else vm/fail to main context
exten => s,n,GotoIf($["${INPUT}"="5"]?noanswer)
exten => s,30,SetGlobalVar(MACRO_RESULT=CONTINUE)
exten => s,31,Goto(51)
;If We Hit Transfer We Ask for Extension and Transfer call
exten => s,40,Read(TEXTEN|pls-ent-num-transfer|4);ask for extension then set macro to goto that and continue
exten => s,41,Gotoif($["${LEN(${TEXTEN})}"="4"]?42:45)
exten => s,42,SetGlobalVar(MACRO_RESULT=GOTO:from-internal^${TEXTEN}^1)
exten => s,43,Goto(51)
exten => s,45,Gotoif("$["${TEXTEN}"="0"] ?46:46);the logic is here to allow transfer to operator, i just didn't imlepent;it yet
exten => s,46,SetGlobalVar(MACRO_RESULT=CONTINUE)
exten => s,47,Playback(invalid)
exten => s,48,Goto(4)
;If We Accept Call We Continue and Brige Callers
exten => s,50,SetGlobalVar(MACRO_RESULT=)
exten => s,51,System(/bin/rm -f ${ARG1}.ulaw)
;If Call Is Rejected We Hangup and Fallback to Main Context
exten => h,1,System(/bin/rm -f ${ARG1}.ulaw)



kerryg
Posts: 6793
Member Since:
2006-05-31
My client is in for $250 so

My client is in for $250 so thats $650.

--

Kerry Garrison
http://www.VoipStore.com - http://3cxbook.com
(888) VOIPSTORE - (888) 864-7786



necits
Posts: 419
Member Since:
2008-02-23
I don't need this yet, but I

I don't need this yet, but I think it is a option worth having. I'll pitch in $50.00

--

Michael Mathewson CCNA,MCSE
Owner/Consultant
Northeast CT IT Solutions



percykwong
Posts: 758
Member Since:
2007-04-30
If you add the option to

If you add the option to send them to a user defined destination (IVR, Disconnect Tones, Announcement, Extension, etc) I'm in for $100.00. So in other words,

People who are private, unknown, anonymous, etc.. no caller id, etc.. automatically go to a certain place of my choosing.

I'll put in $100 if that's part of the module.

-----------------------------------------------
Percy Kwong
www.swimminginthought.com

--

-----------------------------------------------
Percy Kwong
Trixbox Tech Support - 202.600.3884

Swimminginthought.com



ethans
Posts: 519
Member Since:
2007-01-16
I would like to collect the

I would like to collect the bounties committed so far. I have submitted the patches to Kerry and FreePBX, so for right now, the application is done for it's current state. Once I have collected the bounties, I'll get Kerry the updated patches which fixed some minor things. Call screening has been integrated into FreePBX 2.5a which is available to try right now. 2.5 has some pretty major changes, so the patches are different that 2.4.

Once the initial bounties are collected, I would be willing to look at enhancements such as Percy's request. I am also going to work on integrating this into the ARI so users can control their own screening. That will hopefully make it in 2.5b.

I just want to check this off my list for now, so let's get this closed out.



necits
Posts: 419
Member Since:
2008-02-23
I'm gonna give $200.00 to

I'm gonna give $200.00 to this. Were to I send it?

--

Michael Mathewson CCNA,MCSE
Owner/Consultant
Northeast CT IT Solutions



kb9mwr
Posts: 166
Member Since:
2006-09-09
http://freepbx.org/news

http://freepbx.org/news

FreePBX 2.5.0 Beta Program Launched

A VERY short list of highlights includes:
Caller Screening, a form of Privacy Manager requiring callers to announce themselves so you can decide if you want to take the call or not

So if you still want to contribute, as I did to freepbx maybe it can put to further screening ideas like some of the ones I suggested:
http://freepbx.org/forum/freepbx/development/suggestions-more-nui...



philippel
Posts: 700
Member Since:
2006-05-31
ethans wrote: Call screening
ethans wrote:
Call screening has been integrated into FreePBX 2.5a which is available to try right now. 2.5 has some pretty major changes, so the patches are different that 2.4.

One comment on that. It is the result of the merging of directdids and incoming routes. If you happen to use any earlier version of this there will be no migration patch as the 2.5 implementation will be the first FreePBX implementation. It is what ethans checked into FreePBX with the required changes because of the inbound route/directdid changes.

--

Philippe Lindheimer, FreePBX® Project Leader
http://freepbx.org - #freepbx on irc.freenode.net
http://freepbx.org/forums - The FreePBX® Forum
OTTS Training - Apr 27-29, Huntsville, AL



ethans
Posts: 519
Member Since:
2007-01-16
kb9mwr, As I had promised,

kb9mwr,

As I had promised, on the good faith that the promised bounties would be paid, I submitted the patches to FreePBX. That is why this feature is in 2.5.

On a side note, other possible contributions include:
http://trixbox.org/forums/trixbox-forums/open-discussion/really-e...

And a thanks to parallex420. I have pm'd you with details. If you are interested in the 2.4 patches, let me know, otherwise everything is in 2.5 and has been sent to Kerry for integration into the Trixbox patch plussed version.



necits
Posts: 419
Member Since:
2008-02-23
Glad to be able to donate..

Glad to be able to donate.. Do you already have the 2.4 patches written?

--

Michael Mathewson CCNA,MCSE
Owner/Consultant
Northeast CT IT Solutions



ethans
Posts: 519
Member Since:
2007-01-16
Ok, I have some patches.

Ok, I have some patches. The below set of commands will retrieve and attempt the patching without actually patching anything. Post the results of running this. It won't actually do anything, but I don't have a pristine 2.4 system to test the patches on. If the below works, I'll post further details.


cd ~
wget http://test2.schmoozecom.com/call-screening-patches/call-screening-patches.patch
patch -d / -p0 --dry-run -b < call-screening-patches.patch



necits
Posts: 419
Member Since:
2008-02-23
Thanks Ethan, Here's the

Thanks Ethan,

Here's the output:

[trixbox4.necits.com agi-bin]# patch -d / -p0 --dry-run -b patching file /var/lib/asterisk/agi-bin/dialparties.agi
patching file /var/www/html/admin/modules/core/functions.inc.php
Hunk #1 succeeded at 1936 (offset -15 lines).
Hunk #3 succeeded at 2567 (offset -15 lines).
Hunk #5 succeeded at 4015 (offset -15 lines).
patching file /etc/asterisk/extensions.conf
[trixbox4.necits.com agi-bin]#

--

Michael Mathewson CCNA,MCSE
Owner/Consultant
Northeast CT IT Solutions



ethans
Posts: 519
Member Since:
2007-01-16
Ok, it looks like it should

Ok, it looks like it should go fine. You should do a "now" backup in the FreePBX Backup module just in case, but the command below will also backup the affected files for you.

Run:

patch -d / -p0 -b < call-screening-patches.patch

Then asterisk -rx reload

NOTE:
dialparties.agi will be replaced the next time you hit the reload bar in FreePBX. In order to prevent this from happening, you need to change the permissions on dialparties.agi:
chmod 555 /var/lib/asterisk/agi-bin/dialparties.agi

The problem with this is the next time you upgrade FreePBX, it isn't going to be able to write this file, so before you upgrade FreePBX the next time:
chmod 755 /var/lib/asterisk/agi-bin/dialparties.agi.



necits
Posts: 419
Member Since:
2008-02-23
Thanks Ethan

Works as advertised!

--

Michael Mathewson CCNA,MCSE
Owner/Consultant
Northeast CT IT Solutions



citapinc
Posts: 245
Member Since:
2007-10-13
Sending you my money

I told you that I would donate $50 for this feature and I am a man of my word. How do I get this money to the right person?

Please email me at trixbox .A.T. citapinc .D.O.T. com and give me the instructions to send the money.

Thanks!

Dean
Anaheim, CA



citapinc
Posts: 245
Member Since:
2007-10-13
Suggestions to this feature

I upgraded to 2.5 and enabled the Call Screening on my extention for testing. It works great however I would like to see the Call Screening option enabled only on "Follow Me" calls UNLESS the caller ID is blocked, then I would like the call screening on my extention phone.

Also is there a way to change the voice prompts for Call Screening?

Dean
Anaheim, CA



philippel
Posts: 700
Member Since:
2006-05-31
citapinc, The messages are

citapinc,
The messages are hardcoded in Asterisk. The message played to the caller is:
priv-recordintro
and the message played to thee callee with the options they have is:
priv-callpending
so if you changed those messages in your installation, you could change the message. As far as the conditional use of screening only when using followme - that's not there. The place to put such a request is in the FreePBX tracker on
http://freepbx.org/trac/newticket
and you need to be logged in to the site with your account to put in a new ticket.

--

Philippe Lindheimer, FreePBX® Project Leader
http://freepbx.org - #freepbx on irc.freenode.net
http://freepbx.org/forums - The FreePBX® Forum
OTTS Training - Apr 27-29, Huntsville, AL



FootnoteBill
Posts: 1
Member Since:
2008-12-11
Combining features

I would really like to use this feature, but I can't get it to play nice in combination with other features. For example, try becoming a member of a queue with it enabled and see what happens. I've seen other comments/arguments about its use in ring groups and about how it should behave in that circumstance. I don't believe the answer there is obvious, despite some opinions that it is. And it is claimed to work with follow-me, but it doesn't for me.

Anyway, I think it would be very much more useful if this capability could be dissociated from the user/extension and operate as a standalone gateway that can be placed (like other processing steps) in an IVR.



citapinc
Posts: 245
Member Since:
2007-10-13
Pay my Bounty

Back in June 2008 I said I'd contribute $50 to this bounty. Even though I'm no longer in business I'm still a man of my word and need to know where to send my $50.

Can someone please point me to the right spot so I can give my $50 to this project and other projects I said I'd commit to?

Thanks!



kerryg
Posts: 6793
Member Since:
2006-05-31
You could take me to dinner.

You could take me to dinner. Let's see now, Ethan wrote it while at Schmoozecom, but is no longer there. So would you pay Schmooze or try to find Ethan? No clue.

--

Kerry Garrison
http://www.VoipStore.com - http://3cxbook.com
(888) VOIPSTORE - (888) 864-7786



ethans
Posts: 519
Member Since:
2007-01-16
If you are really looking to

If you are really looking to pay, feel free to PayPal it to my email below.

Email



citapinc
Posts: 245
Member Since:
2007-10-13
Check is in the (e)mail

Ethans:

As soon as I get my next paycheck I will send you the money. We used that feature every day and I'm still using it today to screen calls here at work.

Kerry, you're in Irvine and I'm in Anaheim. Next time I'm in Irvine to see a client I'll shoot you an email so we can have a quick lunch together.

Dean Penderghast
Sales Automation Services, Inc.
Certified DacEasy and Peachtree Consultant



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.