diff options
author | oej <oej@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-11-10 20:46:25 +0000 |
---|---|---|
committer | oej <oej@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-11-10 20:46:25 +0000 |
commit | 9b3e49ea799d2ff34c750f038de009223fa5d39b (patch) | |
tree | 3790487162deb39191c0c4d072806f65f62259fe /channels/chan_sip.c | |
parent | 3d83cfe7d5c3f6d903f8785ab750bb2ad3ed9ccd (diff) |
Clear dialog on loop (backport from 1.4 by mistake)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@47470 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_sip.c')
-rw-r--r-- | channels/chan_sip.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index a3b8af2e5..c2a05bdeb 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -10518,8 +10518,9 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int /* This is a call to ourself. Send ourselves an error code and stop processing immediately, as SIP really has no good mechanism for being able to call yourself */ - transmit_response(p, "482 Loop Detected", req); - /* We do NOT destroy p here, so that our response will be accepted */ + transmit_response_reliable(p, "482 Loop Detected", req, 1); + if (!p->lastinvite) + ast_set_flag(p, SIP_NEEDDESTROY); return 0; } if (!ignore) { |