From: Matthew Jordan Date: Mon, 6 Oct 2014 00:59:12 +0000 (+0000) Subject: res_pjsip/pjsip_options: Do not 404 an OPTIONS request not sent to an endpoint X-Git-Tag: 12.7.0-rc1~78 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=009cd6fcfa2bdeec2ee596371115ee6d3d3bee71;p=thirdparty%2Fasterisk.git res_pjsip/pjsip_options: Do not 404 an OPTIONS request not sent to an endpoint 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 --- diff --git a/res/res_pjsip/pjsip_options.c b/res/res_pjsip/pjsip_options.c index 4adb8e03ed..6206900056 100644 --- a/res/res_pjsip/pjsip_options.c +++ b/res/res_pjsip/pjsip_options.c @@ -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);