I have set up L7 ACL for network access. The ACL deny page can be displayed on desktop whenever I access the rejected URL. However, there is only a DNS error message when I access that URL on mobile phone, i.e. ACL deny page cannot be shown.
That's interesting. Haven't heard of it before and can't find any references of a similar issue.
I'd try first using the ACCESS_ACL_DENIED event to see if it's firing correctly in both cases. If it is, then open a support case.
It could also be that the mobile platform is intercepting the message and transferring the 403 status code to some user-friendly (but less helpful) error message. In that case, you could use ACCESS::respond inside of ACCESS_ACL_DENIED to send a different HTTP status code message to the client.