VoLTE technology is not just the device side , it includes Carrier's Infrastructure as well . Even if you use same signalling (SIP ) and media (RTP) protocol , Unless you use bearer specified by operator negotiated in NAS and RRC signalling , it will all be treated as just other internet traffic and will not be eligible to have dedicated bandwidth for the duration of call . You will also miss out on any Supplementary Services that your Carrier Provides. This all makes more sense if you are mobile and may have fluctuating network , In Ideal conditions , quality offered by VoIP applications may be same or even much better than VoLTE call quality.
Q. 1) If it is "optimised" data network, then how come we make VoLTE calls using the same general purpose internet.
we dont , there is a negotiation between network and handset for a channel with guaranteed quality of service , ie in bad network , this data will be dropped last.
Q. 2) Is the optimization done on the client side. If YES for Q. 2), what are those optimizations and how to use them in an android app. Is there any library for it? (For Ex. This)
This is done in ODM (phone makers) software after following specifications and certifications from Operator Body (GSMA like) . There is no lib for this , One can invoke android telephioy framework but that will essentially be same as using dialer
Q. 3) Also, does VoLTE means an end to VoIP and hence an end for Skype, Facetime etc.? Can Skype or Facetime port their mobile apps to use VoLTE over VoIP?
Facetime , skype etc are called OTT apps , whereas volte calls are native apps . You may consider Volte calls as something which violates net neutrality but as its in compliance with government rules , its considered to be ok.