Cdma fake FAS

I have a cdma gateway that provides SIP interface to asterisk server. the problem is that our cdma service provider (like most others) gives the answer signal immediately after I dial a number and so the gateway passes a SIP ‘200 OK’ signal to the asterisk. due to which asterisk server will always do wrong billing.
Is there any way to handle this issue?
One solution I came up with was to dial the number from a local extension and use a combination of WaitForNoise() and WaitForSilence() applications. after that, bridge the local extension with calling party. but this is very difficult and unreliable way because WaitForNoise() will detect dialtone or ivr as Noise.
Is there a way I can tell asterisk to dial a number but not to send a SIP ‘200 OK’ signal immediately but send this signal after 40 seconds if the call is still active?
Thanks in advance… :unamused:

This appears to be a question for the CMDA service provide. I would assume they start charging when they send ANSWER.