Reincarnations of Callback
Callback has survived many generations of technical development. It exists also today.
The call back is probably as old as there have been difference in the tariffs based on the origin of the call. I do not know all possible implementations and their timeline, but I can imagine that the first ones probably relied on some kind of manual switching, then later there were mechanical devices to trigger a call, and later electronic ones. Despite incumbent carriers attempts to block them both by legal and by technical means, those providers of callbacks could make relatively good profit, especially in the countries with less competitive, and subsequently, higher call costs. I remember some went to the extremes like blocking entire numbering range which was responsible for triggering call backs and originating calls. That was of course defeated by those operators by simply moving to the next central office.
The disadvantages of early call back systems was requirement to manually enter dialed number once the return call was received. That was later solved in the era of mobile phones. One of the ingenious solutions was a tiny plastic device which had a shape of SIM and which was inserted under SIM card of the mobile phone, between the SIM cards and phones contacts, so the chip on the device could intercept the communication between SIM and phone. It essentially modified SIMs behaviour in the way that whenever user dialed the number, its dial string was intercepted by the chip, modified and instead of sending directly to the called number, the call was diverted to a callback server. Then the process proceeded as with usual call back. That worked worked well, even though waiting time compared to direct call was still high due to necessity to send DTMF codes within voice channel which has some speed limits.
In the era of smartphones callback got new life. There exists multitude of apps which essentially can do what the above mentioned SIM predialer did ten years before: modify dial string before it is sent out of the phone. There are multiple variations possible, for example:
A) as with classical callback, modify the dial string, and dial callback server instead. When call comes back, intercept the call and send out DTMF signals. This is essentially good old callback implemented in an app. The disadvantage is long dial time;
B) use mobile data to trigger the call. The callback request is sent out via Wifi or Mobile Data, whichever is in use at the moment. Callback server receives it instantly, and dials both called and caller. This method is very fast, but the disadvantage is the use of data channel, which might not be available in all cases, especially those requiring callback;
C) dialing a pool of callback server numbers. This works by mapping users phone book to the set of predefined callback trigger numbers. The process is much faster than in case A, but somehow slower than scenario B. However, it does not use data channel at all.
There are probably other smart methods, I have listed only few. There are many technical challenges, as well. For example, not all phone platforms will allow an app to intercept incoming call, and some may not allow even intercept outgoing calls too. But regardless of everything, as long as there will be a window of tariff differences and no 100% free data coverage, callback will have its users.