arrive가 맞습니다. when이라는 시간을 나타내는 접속사 뒤에 '미래를 의미하는 동사가 올 때에 현재형'을 씁니다. have arrived는 이미 도착한 상태를 나타내므로 문법적으로 틀립니다.
도착했을때 전화줘 라고 하는게 자연스러우니까 arrive가 맞는 것 같아요 그리고 when은 현재완료시제와 어울려 쓰지 않는다고 알고있습니다! 그러니 미래완료를 대신한 현재완료와도 같이 쓰이지 않을 것 같아요.
have arrived는 이미 도착한 상태를 나타내므로 문법적으로 틀립니다.