Index: chan_sip.c =================================================================== --- chan_sip.c (revision 29968) +++ chan_sip.c (working copy) @@ -10660,9 +10660,11 @@ if (!strcmp(p->refer_to, ast_parking_ext())) { /* Must release c's lock now, because it will not longer be accessible after the transfer! */ + /* moved unlock to below the call to sip park in defiance + of the comment above. Don't really know if this is safe */ *nounlock = 1; + sip_park(transfer_to, c, req); ast_mutex_unlock(&c->lock); - sip_park(transfer_to, c, req); nobye = 1; } else { /* Must release c's lock now, because it will not longer