Cisco ASA does indeed support QoS features, although there are no lessons on how QoS is implemented on an ASA on the site. The principles are the same as those described in the QoS course, but the implementation may differ slightly. You can find out more about how to implement it at the following Cisco documentation:
Now concerning your particular question, QoS has two fundamental components . The first is the classification of packets which is done by “marking” the packets. The second is the implementation of QoS mechanisms that prioritize traffic based on those markings.
You can mark voice packets on your network, and you can enable QoS mechanisms on the Internet facing interface of your ASA to prioritize those voice packets as they are sent to the Internet, but you don’t have control over what happens to your packets after they have left your network. ISPs however can remove the markings you have placed there if they choose to, and even if they don’t, they are generally ignored on the Internet.
There are no QoS mechanisms that function on the Internet. It is fundamentally a “best effort” network.
Enabling QoS only has meaning when applied on networks over which you have control. In other words, QoS has meaning when it is implemented on your internal enterprise routers, or over a private WAN. ISPs may choose to enable QoS in their internal networks (such as on an MPLS, Metro Ethernet, or even over a dedicated link for a SIP trunk), but the mechanisms and the markings they choose to employ are their own.
For voice traffic over the internet at large, there’s really nothing you can do to improve its propagation, beyond ensuring that these packets do not suffer from congestion on your own network or as they exit your network.
I hope this has been helpful!