I think the setting you want to look at is in the agi-conf you are using and is called "use_dnid". This will make a2billing used the number passed to it, rather than asking for the number.
A few things though ...
- if you play the balance then I think you need to answer the call "answer=yes". If you do this then I think the call will get charged from when it is answered. This could still charge the customer even if the call is not really answered by the remote person
- v1.94 is old. You should upgrade
- if you cannot upgrade you should absolutely make sure your system is not accessible from the internet