mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
res_pjsip: Add ignore_uri_user_options option.
This implements the chan_sip legacy_useroption_parsing option but with a better name. * Made the caller-id number and redirecting number strings obtained from incoming SIP URI user fields always truncated at the first semicolon. People don't care about anything after the semicolon showing up on their displays even though the RFC allows the semicolon. ASTERISK-26316 #close Reported by: Kevin Harwell Change-Id: Ib42b0e940dd34d84c7b14bc2e90d1ba392624f62
This commit is contained in:
@@ -750,8 +750,7 @@ static pj_bool_t options_on_rx_request(pjsip_rx_data *rdata)
|
||||
pjsip_sip_uri *sip_ruri;
|
||||
char exten[AST_MAX_EXTENSION];
|
||||
|
||||
if (pjsip_method_cmp(&rdata->msg_info.msg->line.req.method,
|
||||
&pjsip_options_method)) {
|
||||
if (pjsip_method_cmp(&rdata->msg_info.msg->line.req.method, &pjsip_options_method)) {
|
||||
return PJ_FALSE;
|
||||
}
|
||||
|
||||
@@ -768,13 +767,20 @@ static pj_bool_t options_on_rx_request(pjsip_rx_data *rdata)
|
||||
sip_ruri = pjsip_uri_get_uri(ruri);
|
||||
ast_copy_pj_str(exten, &sip_ruri->user, sizeof(exten));
|
||||
|
||||
/*
|
||||
* We may want to match in the dialplan without any user
|
||||
* options getting in the way.
|
||||
*/
|
||||
AST_SIP_USER_OPTIONS_TRUNCATE_CHECK(exten);
|
||||
|
||||
if (ast_shutting_down()) {
|
||||
/*
|
||||
* Not taking any new calls at this time.
|
||||
* Likely a server availability OPTIONS poll.
|
||||
*/
|
||||
send_options_response(rdata, 503);
|
||||
} else if (!ast_strlen_zero(exten) && !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);
|
||||
|
Reference in New Issue
Block a user