ASR Street Addresses

We are developing an IVR solution using asterisk and narrowing down our ASR Solution. One of the concerns we have is collecting street addresses. Is there a preferred method to collect a street address? We saw that Nuance has a module you can buy that will recognize all US street addresses but what are other methods of doing this?