Concatenate variable before Waitexten sent out digits

Anyone know a possible way of adding a variable before the waitexten function send out the extension?

So what I mean is that if I have:

exten => 8002222222,1,answer
exten => 8002222222,n,WaitExten(60,d)

exten => 8881111111,1,answer
exten => 8881111111,n,WaitExten(60,d)

And when the call comes in from both 800 and 888, the guy hit ‘123’ (in both cases), asterisk would then think that the guy from 800, it will see something like ‘800123’ vs the guy call in to 888 (and hit 123) would see ‘888123’

Is that possible?

thx

exten => 8002222222,1,answer
exten => 8002222222,n,Set(__caller=${EXTEN:0:3})
exten => 8002222222,n,WaitExten(60,d)

exten => 8881111111,1,answer
exten => 8881111111,n,Set(__caller=${EXTEN:0:3})
exten => 8881111111,n,WaitExten(60,d)

exten => _1XX,1,Set(__opt=${caller}${EXTEN})
etc etc

should do it i think.