support

Call Screening Bounties Wanted

kerryg
Posts: 6400
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
trixbox Community Director
VoipSpeak.net - Asterisk Tutorials



SkykingOH
Posts: 3534
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: 6400
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
trixbox Community Director
VoipSpeak.net - Asterisk Tutorials



SkykingOH
Posts: 3534
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: 6400
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
trixbox Community Director
VoipSpeak.net - Asterisk Tutorials



citapinc
Posts: 173
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: 6400
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
trixbox Community Director
VoipSpeak.net - Asterisk Tutorials



ethans
Posts: 419
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.

--

Ethan Schroeder - ethan d.o.t schroeder a.t schmoozecom d.o.t com
Comprehensive bounty list | Blog



ethans
Posts: 419
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.

--

Ethan Schroeder - ethan d.o.t schroeder a.t schmoozecom d.o.t com
Comprehensive bounty list | Blog



ethans
Posts: 419
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.

--

Ethan Schroeder - ethan d.o.t schroeder a.t schmoozecom d.o.t com
Comprehensive bounty list | Blog



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

Fonality is in for $250.

--

Kerry Garrison
trixbox Community Director
VoipSpeak.net - Asterisk Tutorials



kb9mwr
Posts: 160
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: 3534
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: 103
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: 6400
Member Since:
2006-05-31
My client is in for $250 so

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

--

Kerry Garrison
trixbox Community Director
VoipSpeak.net - Asterisk Tutorials



necits
Posts: 230
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: 753
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
www.swimminginthought.com
www.iphonebounties.com



ethans
Posts: 419
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.

--

Ethan Schroeder - ethan d.o.t schroeder a.t schmoozecom d.o.t com
Comprehensive bounty list | Blog



necits
Posts: 230
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: 160
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: 686
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 - Jan 20-23, Digium's HQ



ethans
Posts: 419
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.

--

Ethan Schroeder - ethan d.o.t schroeder a.t schmoozecom d.o.t com
Comprehensive bounty list | Blog



necits
Posts: 230
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: 419
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

--

Ethan Schroeder - ethan d.o.t schroeder a.t schmoozecom d.o.t com
Comprehensive bounty list | Blog



necits
Posts: 230
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 < call-screening-patches.patch
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: 419
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.

--

Ethan Schroeder - ethan d.o.t schroeder a.t schmoozecom d.o.t com
Comprehensive bounty list | Blog



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

Works as advertised!

--

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



citapinc
Posts: 173
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: 173
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: 686
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 - Jan 20-23, Digium's HQ



Comment viewing options

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