Add PIN code before dial out

Hi Everyone!

I like to add the PIN code before I dial out. We use PIN sets, and the users like to add the PIN code before the number when they call outside. For example:
The dialed number: 34568333
The PIN: 1234
PIN Set: restrictout
The oubound route: 0|.
So the costumer now hit 0 after 34568333 and please give the password…
We like to *54 (or something) now the PIN 1234 and after 0 and 34568333
Is there a feature code for this?

Also problem how to solve the following…
We have PIN sets (every user have his own).
We have phonebook about 1000 telephone numbers (001-999)
I changed in the feature code the "Speeddial prefix " to: 8
So when a user want to use the phonebook hi dials 8001 or 8999
We like to the users call these numbers for free without PIN code. How?
No in the Phonebook: 001 - > 0+and the phone number (It’s a solution to change the 0 to 8 and create an outbound route to 8|. without PIN but the users can use 8 another numbers to dial)

Any suggestion?



Simple AGI with database can solve all problems.
When user dial something - he will be send to AGI and there you can ask or not for PIN, check from MySQL tables - do what ever you want.
Of course you dont need to use MySQL - you can use any other DB.
And AGI scripts could be written in any script language or even be done as C executables.


But any more simple way?

I’m not clear what you want, but have a look at the DISA application.

DISA for inbound call am I right? I like outbound calls…with PIN code.

How can I use DISA to restrict outbound calls?

In and out are whatever you want them to mean!

You can do the whole thing from the dialplan without AGI. Here’s how you get the PIN
exten => _X.,1(start1),Playback(record/enterpin)
exten => _X.,n,Set(pincheck=${CALLERID(num)} )
exten => _X.,n,Set(dbpin=${DB(pin/${pincheck}) )
exten => _X.,n,NoOp(executando - ${extensao} - )
exten => _X.,n,BackGround(beep)
exten => _X.,n,Read(digito,4)
exten => _X.,n,Gotoif($[ “${LEN(${digito})}” != “4”]?start1)
exten => _X.,n,Gotoif("${digito}" != “${dbpin}”]?start1)
exten => _X.,n,Dial(tech/number)
exten => _X.,n,BackGround(vm-goodbye)
exten => _X.,n,Hangup()

For the non pin numbers
exten => _8XXX,1,Set(dbkey=${EXTEN:1})
exten => _8XXX,n,Set(dialno=$DB(callkey/${dbkey})
exten => _8XXX,n,Dial(tech/${dialno})