I have similar problem. I use Elastix 1.6. I have two FXO and 1FXS. In a DISA call or Calling card application, I use my cell phone to dial the Asterisk (leg 1), then, dial out to a different phone number(leg2), When I hang up my cellphone, the Asterisk does not detect the line is drop.
If before I hangup, I press **, which will hang up leg 2, allow me to dial another number, or I just hang up. In this case, the line is released.