Outbound call over site-to-site trunk

I have 2 asterisk boxes, 1 in the US and one in India. I am having issues when one site needs to make outbound calls using the other sites PBX.
The US PBX is running FreePBX 2.11.0.24
The India PBX is running FreePBX 2.11.0.38
We have an IAX trunk that the calls go through but the trunk drops constantly and takes 30 - 60 second to reconnect.
We also tried a sip trunk but the from DID gets overwritten and we get an error that the number is not in service.
In the end we need a reliable trunk between the 2 location so we can make calls out of each other’s respective PBXs

An IAX2 trunk is implemented over a single UDP connection on port 4569 check your work against:-

http://wiki.freepbx.org/pages/viewpage.action?pageId=4161588

make sure you have the trunk=yes line. If your underlying network connection between US and India is unreliable there is nothing anyone here can do to help you.