summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorOlle Johansson <oej@edvina.net>2008-07-01 11:58:17 +0000
committerOlle Johansson <oej@edvina.net>2008-07-01 11:58:17 +0000
commit42bed356d13ba680e38c82ee3f32919ce1c03d03 (patch)
tree990c4d0e8c3d2e7124f41e557ab26ca393479601 /channels
parent983b851e3b77b382e0c1c3ecde47ca6e86c459b5 (diff)
Merged revisions 126789 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r126789 | oej | 2008-07-01 13:51:38 +0200 (Tis, 01 Jul 2008) | 6 lines Report 200 OK to all in-dialog OPTIONs requests (to confirm that the dialog exist). Don't bother checking the request URI. (closes issue #11264) Reported by: ibc ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@126790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 64c9e9ec3..cc861e76c 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -17280,6 +17280,13 @@ static int handle_request_options(struct sip_pvt *p, struct sip_request *req)
\todo Fix handle_request_options device handling with optional authentication
(this needs to be fixed in 1.4 as well)
*/
+
+ if (p->lastinvite) {
+ /* if this is a request in an active dialog, just confirm that the dialog exists. */
+ transmit_response_with_allow(p, "200 OK", req, 0);
+ return 0;
+ }
+
res = get_destination(p, req);
build_contact(p);
@@ -17295,8 +17302,7 @@ static int handle_request_options(struct sip_pvt *p, struct sip_request *req)
/* Destroy if this OPTIONS was the opening request, but not if
it's in the middle of a normal call flow. */
- if (!p->lastinvite)
- sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
+ sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
return res;
}