|
|
@ -1038,8 +1038,10 @@ retry:
|
|
|
|
goto retry;
|
|
|
|
goto retry;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!owner)
|
|
|
|
iaxs[callno] = NULL;
|
|
|
|
iaxs[callno] = NULL;
|
|
|
|
if (pvt) {
|
|
|
|
if (pvt) {
|
|
|
|
|
|
|
|
if (!owner)
|
|
|
|
pvt->owner = NULL;
|
|
|
|
pvt->owner = NULL;
|
|
|
|
/* No more pings or lagrq's */
|
|
|
|
/* No more pings or lagrq's */
|
|
|
|
if (pvt->pingid > -1)
|
|
|
|
if (pvt->pingid > -1)
|
|
|
@ -1063,7 +1065,6 @@ retry:
|
|
|
|
|
|
|
|
|
|
|
|
if (owner) {
|
|
|
|
if (owner) {
|
|
|
|
/* If there's an owner, prod it to give up */
|
|
|
|
/* If there's an owner, prod it to give up */
|
|
|
|
owner->pvt->pvt = NULL;
|
|
|
|
|
|
|
|
owner->_softhangup |= AST_SOFTHANGUP_DEV;
|
|
|
|
owner->_softhangup |= AST_SOFTHANGUP_DEV;
|
|
|
|
ast_queue_hangup(owner, 0);
|
|
|
|
ast_queue_hangup(owner, 0);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -1076,6 +1077,7 @@ retry:
|
|
|
|
if (pvt->reg) {
|
|
|
|
if (pvt->reg) {
|
|
|
|
pvt->reg->callno = 0;
|
|
|
|
pvt->reg->callno = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!owner)
|
|
|
|
free(pvt);
|
|
|
|
free(pvt);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (owner) {
|
|
|
|
if (owner) {
|
|
|
|