diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-01-20 22:53:57 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-01-20 22:53:57 +0000 |
commit | e6aed966f8b286fb465c24319f3db6af0ac35488 (patch) | |
tree | 09e02c2f0cdddab89d8103f6adc1c188b4919651 /channels | |
parent | 2d5808052d95a3aa89ee49c718a9eca181209d94 (diff) |
Make sure we check for owner even after a queue frame
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4854 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rwxr-xr-x | channels/chan_iax2.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 8f228a973..d839df2fd 100755 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -1533,7 +1533,9 @@ static int attempt_transmit(void *data) fr.frametype = AST_FRAME_CONTROL; fr.subclass = AST_CONTROL_HANGUP; iax2_queue_frame(f->callno, &fr); - iaxs[f->callno]->owner->hangupcause = AST_CAUSE_DESTINATION_OUT_OF_ORDER; + /* Remember, owner could disappear */ + if (iaxs[f->callno]->owner) + iaxs[f->callno]->owner->hangupcause = AST_CAUSE_DESTINATION_OUT_OF_ORDER; } else { if (iaxs[f->callno]->reg) { memset(&iaxs[f->callno]->reg->us, 0, sizeof(iaxs[f->callno]->reg->us)); |