]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip/pjsip_options: Do not 404 an OPTIONS request not sent to an endpoint
authorMatthew Jordan <mjordan@digium.com>
Mon, 6 Oct 2014 00:59:12 +0000 (00:59 +0000)
committerMatthew Jordan <mjordan@digium.com>
Mon, 6 Oct 2014 00:59:12 +0000 (00:59 +0000)
An OPTIONS request that is sent to Asterisk but not to a specific endpoint is
currently sent a 404 in response. This is because, not surprisingly, an empty
extension is never going to be found in the dialplan.

This patch makes it so that we only attempt to look up the endpoint in the
dialplan if it is specified in the OPTIONS request URI.

#SIPit31

ASTERISK-24370 #close
Reported by: Matt Jordan

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@424624 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_pjsip/pjsip_options.c

index 4adb8e03ed5d2a4a443fa5fefe8026e60f4a95b9..6206900056d2e562ece1a240f2c4c0d424753090 100644 (file)
@@ -641,7 +641,7 @@ static pj_bool_t options_on_rx_request(pjsip_rx_data *rdata)
 
        if (ast_shutting_down()) {
                send_options_response(rdata, 503);
-       } else if (!ast_exists_extension(NULL, endpoint->context, exten, 1, NULL)) {
+       } else if (!ast_strlen_zero(exten) && !ast_exists_extension(NULL, endpoint->context, exten, 1, NULL)) {
                send_options_response(rdata, 404);
        } else {
                send_options_response(rdata, 200);