diff options
-rw-r--r-- | channels/chan_sip.c | 2 | ||||
-rw-r--r-- | main/strings.c | 2 | ||||
-rw-r--r-- | res/res_pjsip_caller_id.c | 8 |
3 files changed, 6 insertions, 6 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index aa6813fd3..724021eea 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -18026,7 +18026,7 @@ static int get_pai(struct sip_pvt *p, struct sip_request *req) } ast_copy_string(privacy, sip_get_header(req, "Privacy"), sizeof(privacy)); - if (!ast_strlen_zero(privacy) && !strncmp(privacy, "id", 2)) { + if (!ast_strlen_zero(privacy) && strcasecmp(privacy, "none")) { callingpres = AST_PRES_PROHIB_USER_NUMBER_NOT_SCREENED; } if (!cid_name) { diff --git a/main/strings.c b/main/strings.c index 38b4c946f..8102c3e9d 100644 --- a/main/strings.c +++ b/main/strings.c @@ -314,7 +314,7 @@ regex: } equals: - scan_numeric = (sscanf(left, "%lf", &left_num) && sscanf(internal_right, "%lf", &right_num)); + scan_numeric = (sscanf(left, "%lf", &left_num) > 0 && sscanf(internal_right, "%lf", &right_num) > 0); if (internal_op[0] == '=') { if (ast_strlen_zero(left) && ast_strlen_zero(internal_right)) { diff --git a/res/res_pjsip_caller_id.c b/res/res_pjsip_caller_id.c index 0aca2db2a..0c1325c47 100644 --- a/res/res_pjsip_caller_id.c +++ b/res/res_pjsip_caller_id.c @@ -149,12 +149,12 @@ static int set_id_from_pai(pjsip_rx_data *rdata, struct ast_party_id *id) } privacy = pjsip_msg_find_hdr_by_name(rdata->msg_info.msg, &privacy_str, NULL); - if (privacy && !pj_stricmp2(&privacy->hvalue, "id")) { - id->number.presentation = AST_PRES_PROHIB_USER_NUMBER_NOT_SCREENED; - id->name.presentation = AST_PRES_PROHIB_USER_NUMBER_NOT_SCREENED; - } else { + if (!privacy || !pj_stricmp2(&privacy->hvalue, "none")) { id->number.presentation = AST_PRES_ALLOWED_USER_NUMBER_NOT_SCREENED; id->name.presentation = AST_PRES_ALLOWED_USER_NUMBER_NOT_SCREENED; + } else { + id->number.presentation = AST_PRES_PROHIB_USER_NUMBER_NOT_SCREENED; + id->name.presentation = AST_PRES_PROHIB_USER_NUMBER_NOT_SCREENED; } return 0; |