In the end I only modified the _AdafruitFONA class in the files "Adafruit_FONA.h" and "Adafruit_FONA.cpp" to add a couple new Methods:
getRingerVolume and setRingerVolume to get and set the volume of the ringtone that comes of the speaker (I used it to mute it).
getToneVolume and setToneVolume to get and set the volume for toolkit and generated tones (the default volume control doesn't affect those, so I had to add it to change the dialtone volume).
stopToolkitTone to stop the playback of e.g. a dialtone at any moment.
playUserTone and stopUserTone to play a generated tone of any frequency.
playUserXTone and stopUserXTone to play a generated tone of any two frequencies (important if one wants to simulate an old telephone, as the tones generated by keypresses always consist of two frequencies).
to make these methods work I had to add versions of the getReply and sendCheckReply methods with more arguments.
Possible breakage:
It should not break any examples as it doesn't modify any code only adds on top of it.
Tested with the FONAtest example on an Adafruit Feather FONA. Worked flawlessly.
What I changed:
In the end I only modified the _AdafruitFONA class in the files "Adafruit_FONA.h" and "Adafruit_FONA.cpp" to add a couple new Methods:
Possible breakage:
It should not break any examples as it doesn't modify any code only adds on top of it. Tested with the FONAtest example on an Adafruit Feather FONA. Worked flawlessly.
I used the changes to make this possible: https://github.com/papayapeter/randomphone