We have finally solved this issue with playing with branc_routes. Creating another branch_route in the failure_route (for auth purposes) and moving rtp_engine offer and record_route() to this branch_route fixed the issue. We also had to use set_send_socket () to get rid of the FIXME issues.
Thanks for the help.