Issue with WaitExten()

I have dialplan like follows

exten => 4000,1,Answer()
exten => 4000,1,Background(Welcome)
exten => 4000,1,WaitExten()

Above should be able to take extension information from caller but in my case it is taking input from one who receives the call.

description of WaitExten() is as follows: page 128, Book “Asterisk: The future of Telephony”

Both Background() and WaitExten() allow the caller to enter DTMF digits.

set your priority

exten => 4000,1,Answer()
exten => 4000,2,Background(Welcome)
exten => 4000,3,WaitExten()

sorry for typo. I had set the prioprty as

exten => 4000,1,Answer()
exten => 4000,n,Background(Welcome)
exten => 4000,n,WaitExten()

But I got the solution in the form of Read(ssn). As I want caller to input his SSN.

I will also recheck if WaitExten() works. Thank you.