Problem with my onphone command

I have a installed asterisk from source and it is all working correctly, but i have a dialplan question. Our reception ext is 100 however the reception phone is actually ext162. The 100 ext just forwards to the reception phone. If someone rings 162 directly (and the receptionist is on the phone) it plays a message saying they are on the phone. If someone dials 100 it diverts
to 162 but if theye are on the phone it doesn’t play the message. I have pasted the part of my dialplan that tells 100 to dial 162. How do i get 162 to play the message if 162 is engaged?

exten => 100,1,AGI(cid.agi)
exten => 100,n,Dial(SIP/162|${DIALTIME}|${DIALOPTS})
exten => 100,n,Goto(100-${DIALSTATUS},1)
exten => 100-ANSWER,1,Hangup
exten => _100-.,1,Goto(callcentre,s,1)

Here is my onphone section although this is working correctly for all real extensions:
exten => s-ONPHONE,1,Answer
exten => s-ONPHONE,n,Background(custom/1)
exten => s-ONPHONE,n,Set(EXITCONTEXT=macro-dial)
exten => s-ONPHONE,n,Dial(${ARG1}|${DIALTIME}|${DIALOPTS})
exten => s-ONPHONE,n,Goto(s-ONPHONE-${DIALSTATUS},1)
exten => s-ONPHONE-BUSY,1,Goto(recept|900|1)
exten => s-ONPHONE-NOANSWER,1,Goto(recept|900|1)
exten => s-ONPHONE-ANSWER,1,Hangup
exten => s-ONPHONE-CHANUNVAIL,1,Goto(recept|900|1)

Thanks in advance