Nothing dials by itself
The tel: scheme is a request, not a command. Both iOS and Android present the number and require an explicit tap, and browsers behave the same way with tel: links. This is by design: auto-dialling from a scanned image would be an obvious route to premium-rate fraud.
It also shapes how you should design the sign around the code. The person will see a bare number on screen before they commit, so if it matters that they are calling the right department, put that in the printed text next to the code — the dialler will not tell them.
Write the number in E.164
E.164 is the international numbering format: a plus sign, country code, then the national number with no leading zero — +60 12 345 6789 rather than 012 345 6789. Written that way, the number resolves identically whether the scanner's phone is registered locally or roaming.
Punctuation inside the number is ignored by the dialler, so spaces and dashes are purely for the human reading it. Extensions are the weak spot: the pause characters used to dial one automatically are inconsistently supported, so for a direct line, publish the direct number rather than a switchboard and an extension.
Where a call code beats printed digits
The value is proportional to how awkward the surface is. A number on a lift plate, a parking meter, a machine in a plant room or the back of a van gets read at an angle, in poor light, often by someone holding something else. Scanning removes the transcription step entirely.
It also helps on anything with an international audience. A visitor who does not know whether to drop a leading zero or add a country code has a real chance of getting it wrong; a code carrying E.164 gives them no opportunity to.
Durability of a printed code
Codes on equipment live in bad conditions. Print with strong contrast — dark on light, never light on dark, which many scanners will not invert — and leave the four-module quiet zone clear of the sticker's border.
Error correction covers scuffing but not the corners: the three large finder patterns are how a scanner locates the symbol at all, so a code with a worn corner is unreadable regardless of level. For outdoor or workshop use, laminate it or use a printed vinyl label, and size it for the distance someone will actually stand at.