0800から始まる番号は、NTTコミュニケーションズをはじめとする電気通信事業者が提供する着信者課金電話番号です。発信者(電話をかける側)ではなく着信者(電話を受ける企業側)が通話料を全額負担するシステムであり、一般に広く知られている「フリーダイヤル」や「フリーコール」と同等のサービスにあたります。
最大の疑問である「なぜ0120ではなく0800なのか」という点ですが、理由はシンプルに0120番号の枯渇にあります。1985年に登場した0120は企業のカスタマーサポートや通信販売窓口として爆発的に普及し、利用可能な番号の空きが逼迫しました。そこで1999年に新たな着信課金用プレフィックスとして追加されたのが0800です。
両者の構造上の違いは「総桁数」にあります。0120が計10桁(0120-XXX-XXX)であるのに対し、0800は携帯電話と同じ計11桁(0800-XXX-XXXX)で構成されています。固定電話はもちろん、携帯電話からの通話料も着信者側が負担する契約になっていれば完全無料です。ただし、契約企業側の設定によっては「携帯電話・PHSからの発信不可」となっているケースもあります。