I sent this to the list earlier but I never saw the post show up, I apologize if this is a repeat post. ___________________________ HI all, I have a question and I can't seem to find the answer anywhere. Is there a way to limit the amount of digits dialed? For example I have a * box set up for the department of corrections for prisoners to call home. It has the Digium 2 FXO/ 2 FXS card in it. I have two Lines brought in to the fxo ports and 2 standard 2500 analog sets for the prisoners to use to dial out. Everything seems to work great. We use * to record all the calls. After the prisoner dials the original number and their PIN, I do not want them to be able to send anymore DTMF tones. The PIN number is not processed by *. It is processed by the LEC's switch. Thanks in advance -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20041104/0260b3c5/attachment.htm
On November 4, 2004 10:56 am, Henry Devito wrote:> I have a question and I can't seem to find the answer anywhere. Is there a > way to limit the amount of digits dialed? For example I have a * box set > up for the department of corrections for prisoners to call home. It has > the Digium 2 FXO/ 2 FXS card in it. I have two Lines brought in to the fxo > ports and 2 standard 2500 analog sets for the prisoners to use to dial out. > Everything seems to work great. We use * to record all the calls. After > the prisoner dials the original number and their PIN, I do not want them > to be able to send anymore DTMF tones. The PIN number is not processed by > *. It is processed by the LEC's switch. Thanks in advanceI just did something similar: [recordcall] exten => s,1,SetVar(CALLFILENAME=/tmp/calls/${CALLERIDNUM}-${TIMESTAMP}) exten => s,2,Monitor(wav,${CALLFILENAME},m) exten => s,3,Playback(agent-pass) exten => s,4,DISA(/path/to/asterisk/passwd/file) and then just make sure that the extension you dump them in to does not allow them to dial anything ohter than what you want (i.e. 7-digit #s or whatnot) I don't know of any way to suppress DTMF if that's what you're talking about. -A.
Hi Flynn, Feel free to contact me offline if you feel this isn't suitable conversation for online but I read an article about this a few weeks ago about how you were freezing out other carriers for offering cheaper calls to inmates than the inflated prices you charged. And I don't understand how you are legally allowed to do this. It must be profit driven because surely I could call one of my approved numbers eg sister and then have her pass along the information to a third party. Surely if you were looking to solve this 'isolation' issue and were serious about it you would be tackling this problem another way. Cheers, Dean -----Original Message----- From: asterisk-users-bounces@lists.digium.com [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Flynn Sent: Thursday, November 04, 2004 1:52 PM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: RE: [Asterisk-Users] Limit DTMF tones On 11/4/2004, "Henry Devito" <hdevito@qwest.net> wrote:>The issue is the inmates have figured out a way to dial long distance >numbers by calling different private phone numbers and using thatcompanies>DISA to complete calls. So in order to stop that I have to suppressdtmf>after so many digits are dialed. Any idea's? >My, prisoners are getting devious :) Anyways, you'd only be able to do this by hacking the code, as others have pointed out. What you want is in res_features.c (if I understand the code correctly), in the function called "ast_bridge_call". On * release 1.0.1 it's somewhere on line 520: if (f && (f->frametype == AST_FRAME_DTMF)) { if (who == peer) ast_write(chan, f); else ast_write(peer, f); } So you'd have to hack it by disabling commenting out that section. I think this bit of code is only executed once the two legs of the call are bridged, so it probably wouldn't affect anything else. I also think that if you were at some point required to be able to send DTMF after the initial dial pattern, you could programmatically via the dialplan use the "D" option in the Dial application to send dtmf digits. Hope you do test this out before putting it live ;) Free advice, so don't knock me out if it breaks something else!! Flynn _______________________________________________ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Ok I figured it out mostly, I went by what Flynn posted. I commented out the particular lines in res_features.c when a call is connected no DTMF is passed. The only problem I am having now is I'm not sure how to set up the IVR. This is what I need to be done. Sounds simple and probably is, but I have never used the IVR function in *. I would like the following to happen for a person to be able to dial out. --- The person goes to phone dials 2 --- IVR answers and speaks "Please enter the destination phone number" --- The persons enters the phone number they would like to dial --- IVR Then says "Enter your 6 digit PIN number" --- The person enters their PIN number --- * Then dials the phone number that was entered, pauses 5 seconds then dials the PIN number that was entered. * does not need to process these numbers in any way, It does not need to check PIN numbers. I just want * to send these numbers. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20041108/1cbc96a0/attachment.htm