diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-01-19 00:19:29 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-01-19 00:19:29 +0000 |
commit | f8247040e6231c4b3b5099ea3a526348b7941566 (patch) | |
tree | 0cc92ad6ebf6ae49a62f6e7ef8ec819121d63630 /trunk/doc/tex/privacy.tex | |
parent | d88e56c61ce2042544c1a8a71c93b69ab2e6ffba (diff) |
Creating tag for the release of asterisk-1.6.0-beta1v1.6.0-beta1
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.6.0-beta1@99163 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'trunk/doc/tex/privacy.tex')
-rw-r--r-- | trunk/doc/tex/privacy.tex | 354 |
1 files changed, 354 insertions, 0 deletions
diff --git a/trunk/doc/tex/privacy.tex b/trunk/doc/tex/privacy.tex new file mode 100644 index 000000000..f8bf698f6 --- /dev/null +++ b/trunk/doc/tex/privacy.tex @@ -0,0 +1,354 @@ +So, you want to avoid talking to pesky telemarketers/charity +seekers/poll takers/magazine renewers/etc? + +\subsection{First of all} + + the FTC "Don't call" database, this alone will reduce your +telemarketing call volume considerably. (see: +\url{https://www.donotcall.gov/default.aspx} ) But, this list won't protect +from the Charities, previous business relationships, etc. + +\subsection{Next, Fight against autodialers!!} + +Zapateller detects if callerid is present, and if not, plays the +da-da-da tones that immediately precede messages like, "I'm sorry, +the number you have called is no longer in service." + +Most humans, even those with unlisted/callerid-blocked numbers, will +not immediately slam the handset down on the hook the moment they hear +the three tones. But autodialers seem pretty quick to do this. + +I just counted 40 hangups in Zapateller over the last year in my +CDR's. So, that is possibly 40 different telemarketers/charities that have +hopefully slashed my back-waters, out-of-the-way, humble home phone +number from their lists. + +I highly advise Zapateller for those seeking the nirvana of "privacy". + + +\subsection{Next, Fight against the empty CALLERID!} + +A considerable percentage of the calls you don't want, come from +sites that do not provide CallerID. + +Null callerid's are a fact of life, and could be a friend with an +unlisted number, or some charity looking for a handout. The +PrivacyManager application can help here. It will ask the caller to +enter a 10-digit phone number. They get 3 tries(configurable), and this is +configurable, with control being passed to priority+101 if they won't +supply one. + +PrivacyManager can't guarantee that the number they supply is any +good, tho, as there is no way to find out, short of hanging up and +calling them back. But some answers are obviously wrong. For instance, +it seems a common practice for telemarketers to use your own number +instead of giving you theirs. A simple test can detect this. More +advanced tests would be to look for -555- numbers, numbers that count +up or down, numbers of all the same digit, etc. + +My logs show that 39 have hung up in the PrivacyManager script over +the last year. + +(Note: Demanding all unlisted incoming callers to enter their CID may +not always be appropriate for all users. Another option might be to +use call screening. See below.) + + +\subsection{Next, use a WELCOME MENU !} + +Experience has shown that simply presenting incoming callers with +a set of options, no matter how simple, will deter them from calling +you. In the vast majority of situations, a telemarketer will simply +hang up rather than make a choice and press a key. + +This will also immediately foil all autodialers that simply belch a +message in your ear and hang up. + +\subsubsection{Example usage of Zapateller and PrivacyManager} + +\begin{astlisting} +\begin{verbatim} +[homeline] +exten => s,1,Answer +exten => s,2,SetVar,repeatcount=0 +exten => s,3,Zapateller,nocallerid +exten => s,4,PrivacyManager + ;; do this if they don't enter a number to Privacy Manager +exten => s,105,Background(tt-allbusy) +exten => s,106,Background(tt-somethingwrong) +exten => s,107,Background(tt-monkeysintro) +exten => s,108,Background(tt-monkeys) +exten => s,109,Background(tt-weasels) +exten => s,110,Hangup +exten => s,5,GotoIf($[ "${CALLERID(num)}" = "7773334444" & "${CALLERID(name)}" : "Privacy Manager" ]?callerid-liar,s,1:s,7) +\end{verbatim} +\end{astlisting} + +I suggest using Zapateller at the beginning of the context, before +anything else, on incoming calls.This can be followed by the +PrivacyManager App. + +Make sure, if you do the PrivacyManager app, that you take care of the +error condition! or their non-compliance will be rewarded with access +to the system. In the above, if they can't enter a 10-digit number in +3 tries, they get the humorous "I'm sorry, but all household members +are currently helping other telemarketers...", "something is terribly +wrong", "monkeys have carried them away...", various loud monkey +screechings, "weasels have...", and a hangup. There are plenty of +other paths to my torture scripts, I wanted to have some fun. + +In nearly all cases now, the telemarketers/charity-seekers that +usually get thru to my main intro, hang up. I guess they can see it's +pointless, or the average telemarketer/charity-seeker is instructed +not to enter options when encountering such systems. Don't know. + + +\subsection{Next: Torture Them!} + +I have developed an elaborate script to torture Telemarketers, and +entertain friends. (See +\url{http://www.voip-info.org/wiki-Asterisk+Telemarketer+Torture} ) + +While mostly those that call in and traverse my teletorture scripts +are those we know, and are doing so out of curiosity, there have been +these others from Jan 1st,2004 thru June 1st, 2004: +(the numbers may or may not be correct.) + +\begin{itemize} + \item 603890zzzz -- hung up telemarket options. + \item "Integrated Sale" -- called a couple times. hung up in telemarket options + \item "UNITED STATES GOV" -- maybe a military recruiter, trying to lure one of my sons. + \item 800349zzzz -- hung up in charity intro + \item 800349zzzz -- hung up in charity choices, intro, about the only one who actually travelled to the bitter bottom of the scripts! + \item 216377zzzz -- hung up the magazine section + \item 626757zzzz = "LIR " (pronounced "Liar"?) hung up in telemarket intro, then choices + \item 757821zzzz -- hung up in new magazine subscription options. +\end{itemize} + +That averages out to maybe 1 a month. That puts into question whether +the ratio of the amount of labor it took to make the scripts versus +the benefits of lower call volumes was worth it, but, well, I had fun, +so what the heck. + +but, that's about it. Not a whole lot. But I haven't had to say "NO" +or "GO AWAY" to any of these folks for about a year now ...! + +\subsection{Using Call Screening} + +Another option is to use call screening in the Dial command. It has +two main privacy modes, one that remembers the CID of the caller, and +how the callee wants the call handled, and the other, which does not +have a "memory". + +Turning on these modes in the dial command results in this sequence of +events, when someone calls you at an extension: + +\begin{enumerate} +\item The caller calls the Asterisk system, and at some point, selects an +option or enters an extension number that would dial your extension. + +\item Before ringing your extension, the caller is asked to supply an +introduction. The application asks them: "After the tone, say your +name". They are allowed 4 seconds of introduction. + +\item After that, they are told "Hang on, we will attempt to connect you +to your party. Depending on your dial options, they will hear ringing +indications, or get music on hold. I suggest music on hold. + +\item Your extension is then dialed. When (and if) you pick up, you are +told that a caller presenting themselves as $<$their recorded intro is +played$>$ is calling, and you have options, like being connected, +sending them to voicemail, torture, etc. + +\item You make your selection, and the call is handled as you chose. +\end{enumerate} + +There are some variations, and these will be explained in due course. + + +To use these options, set your Dial to something like: +\begin{astlisting} +\begin{verbatim} +exten => 3,3,Dial(Zap/5r3&Zap/6r3,35,tmPA(beep)) + or +exten => 3,3,Dial(Zap/5r3&Zap/6r3,35,tmP(something)A(beep)) + or +exten => 3,3,Dial(Zap/5r3&Zap/6r3,35,tmpA(beep)) +\end{verbatim} +\end{astlisting} + +The 't' allows the dialed party to transfer the call using '\#'. It's +optional. + +The 'm' is for music on hold. I suggest it. Otherwise, the calling +party gets to hear all the ringing, and lack thereof. It is generally +better to use Music On Hold. Lots of folks hang up after the 3rd or +4th ring, and you might lose the call before you can enter an option! + +The 'P' option alone will database everything using the extension as a +default 'tree'. To get multiple extensions sharing the same database, use +P(some-shared-key). Also, if the same person has multiple extensions, +use P(unique-id) on all their dial commands. + +Use little 'p' for screening. Every incoming call will include a +prompt for the callee's choice. + +the A(beep), will generate a 'beep' that the callee will hear if they +choose to talk to the caller. It's kind of a prompt to let the callee +know that he has to say 'hi'. It's not required, but I find it +helpful. + +When there is no CallerID, P and p options will always record an intro +for the incoming caller. This intro will be stored temporarily in the +\path{/var/lib/asterisk/sounds/priv-callerintros} dir, under the name +NOCALLERID\_$<$extension$>$ $<$channelname$>$ and will be erased after the +callee decides what to do with the call. + +Of course, NOCALLERID is not stored in the database. All those with no +CALLERID will be considered "Unknown". + +\subsection{The 'N' and 'n' options} + +Two other options exist, that act as modifiers to the privacy options +'P' and 'p'. They are 'N' and 'n'. You can enter them as dialing +options, but they only affect things if P or p are also in the +options. + +'N' says, "Only screen the call if no CallerID is present". So, if a +callerID were supplied, it will come straight thru to your extension. + +'n' says, "Don't save any introductions". Folks will be asked to +supply an introduction ("At the tone, say your name") every time they +call. Their introductions will be removed after the callee makes a +choice on how to handle the call. Whether the P option or the p option +is used, the incoming caller will have to supply their intro every +time they call. + + +\subsection{Recorded Introductions} + +\subsubsection{Philosophical Side Note} +The 'P' option stores the CALLERID in the database, along with the +callee's choice of actions, as a convenience to the CALLEE, whereas +introductions are stored and re-used for the convenience of the CALLER. + +\subsubsection{Introductions} +Unless instructed to not save introductions (see the 'n' option above), +the screening modes will save the recordings of the caller's names in +the directory \path{/var/lib/asterisk/sounds/priv-callerintros}, if they have +a CallerID. Just the 10-digit callerid numbers are used as filenames, +with a ".gsm" at the end. + +Having these recordings around can be very useful, however... + +First of all, if a callerid is supplied, and a recorded intro for that +number is already present, the caller is spared the inconvenience of +having to supply their name, which shortens their call a bit. + +Next of all, these intros can be used in voicemail, played over +loudspeakers, and perhaps other nifty things. For instance: + +\begin{astlisting} +\begin{verbatim} +exten => s,6,Set(PATH=/var/lib/asterisk/sounds/priv-callerintros) +exten => s,7,System(/usr/bin/play ${PATH}/${CALLERID(num)}.gsm&,0) +\end{verbatim} +\end{astlisting} + +When a call comes in at the house, the above priority gets executed, +and the callers intro is played over the phone systems speakers. This +gives us a hint who is calling. + +(Note: the ,0 option at the end of the System command above, is a +local mod I made to the System command. It forces a 0 result code to +be returned, whether the play command successfully completed or +not. Therefore, I don't have to ensure that the file exists or +not. While I've turned this mod into the developers, it hasn't been +incorporated yet. You might want to write an AGI or shell script to +handle it a little more intelligently) + +And one other thing. You can easily supply your callers with an option +to listen to, and re-record their introductions. Here's what I did in +the home system's extensions.conf. (assume that a +Goto(home-introduction,s,1) exists somewhere in your main menu as an +option): + +\begin{astlisting} +\begin{verbatim} +[home-introduction] +exten => s,1,Background(intro-options) ;; Script: + ;; To hear your Introduction, dial 1. + ;; to record a new introduction, dial 2. + ;; to return to the main menu, dial 3. + ;; to hear what this is all about, dial 4. +exten => 1,1,Playback,priv-callerintros/${CALLERID(num)} +exten => 1,2,Goto(s,1) +exten => 2,1,Goto(home-introduction-record,s,1) +exten => 3,1,Goto(homeline,s,7) +exten => 4,1,Playback(intro-intro) + ;; Script: + ;; This may seem a little strange, but it really is a neat + ;; thing, both for you and for us. I've taped a short introduction + ;; for many of the folks who normally call us. Using the Caller ID + ;; from each incoming call, the system plays the introduction + ;; for that phone number over a speaker, just as the call comes in. + ;; This helps the folks + ;; here in the house more quickly determine who is calling. + ;; and gets the right ones to gravitate to the phone. + ;; You can listen to, and record a new intro for your phone number + ;; using this menu. +exten => 4,2,Goto(s,1) +exten => t,1,Goto(s,1) +exten => i,1,Background(invalid) +exten => i,2,Goto(s,1) +exten => o,1,Goto(s,1) + +[home-introduction-record] +exten => s,1,Background(intro-record-choices) ;; Script: + ;; If you want some advice about recording your + ;; introduction, dial 1. + ;; otherwise, dial 2, and introduce yourself after + ;; the beep. +exten => 1,1,Playback(intro-record) + ;; Your introduction should be short and sweet and crisp. + ;; Your introduction will be limited to 4 seconds. + ;; This is NOT meant to be a voice mail message, so + ;; please, don't say anything about why you are calling. + ;; After we are done making the recording, your introduction + ;; will be saved for playback. + ;; If you are the only person that would call from this number, + ;; please state your name. Otherwise, state your business + ;; or residence name instead. For instance, if you are + ;; friend of the family, say, Olie McPherson, and both + ;; you and your kids might call here a lot, you might + ;; say: "This is the distinguished Olie McPherson Residence!" + ;; If you are the only person calling, you might say this: + ;; "This is the illustrious Kermit McFrog! Pick up the Phone, someone!!" + ;; If you are calling from a business, you might pronounce a more sedate introduction,like, + ;; "Fritz from McDonalds calling.", or perhaps the more original introduction: + ;; "John, from the Park County Morgue. You stab 'em, we slab 'em!". + ;; Just one caution: the kids will hear what you record every time + ;; you call. So watch your language! + ;; I will begin recording after the tone. + ;; When you are done, hit the # key. Gather your thoughts and get + ;; ready. Remember, the # key will end the recording, and play back + ;; your intro. Good Luck, and Thank you!" +exten => 1,2,Goto(2,1) +exten => 2,1,Background(intro-start) + ;; OK, here we go! After the beep, please give your introduction. +exten => 2,2,Background(beep) +exten => 2,3,Record(priv-callerintros/${CALLERID(num)}:gsm,4) +exten => 2,4,Background(priv-callerintros/${CALLERID(num)}) +exten => 2,5,Goto(home-introduction,s,1) +exten => t,1,Goto(s,1) +exten => i,1,Background(invalid) +exten => i,2,Goto(s,1) +exten => o,1,Goto(s,1) +\end{verbatim} +\end{astlisting} + +In the above, you'd most likely reword the messages to your liking, +and maybe do more advanced things with the 'error' conditions (i,o,t priorities), +but I hope it conveys the idea. + + |