]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip_send_to_voicemail.c: Allow either quoted or not send_to_vm reason. 30/2330/1
authorRichard Mudgett <rmudgett@digium.com>
Sat, 27 Feb 2016 00:54:53 +0000 (18:54 -0600)
committerRichard Mudgett <rmudgett@digium.com>
Wed, 2 Mar 2016 02:16:37 +0000 (20:16 -0600)
Change-Id: Id6350b3c7d4ec8df7ec89863566645e2b0f441fd

res/res_pjsip_send_to_voicemail.c

index 9d2b5b14b5e6307fa890c2ede005469a2b504a94..c7e62a2f72db45aa1f892644cc36796df3ac914d 100644 (file)
@@ -47,7 +47,8 @@
 #define SEND_TO_VM_HEADER_VALUE "feature_send_to_vm"
 
 #define SEND_TO_VM_REDIRECT "REDIRECTING(reason)"
-#define SEND_TO_VM_REDIRECT_VALUE "\"send_to_vm\""
+#define SEND_TO_VM_REDIRECT_VALUE "send_to_vm"
+#define SEND_TO_VM_REDIRECT_QUOTED_VALUE "\"" SEND_TO_VM_REDIRECT_VALUE "\""
 
 static void send_response(struct ast_sip_session *session, int code, struct pjsip_rx_data *rdata)
 {
@@ -102,9 +103,13 @@ static int has_diversion_reason(pjsip_rx_data *rdata)
        pjsip_param *reason;
        pjsip_fromto_hdr *hdr = get_diversion_header(rdata);
 
-       return hdr &&
-               (reason = get_diversion_reason(hdr)) &&
-               !pj_stricmp2(&reason->value, SEND_TO_VM_REDIRECT_VALUE);
+       if (!hdr) {
+               return 0;
+       }
+       reason = get_diversion_reason(hdr);
+       return reason
+               && (!pj_stricmp2(&reason->value, SEND_TO_VM_REDIRECT_QUOTED_VALUE)
+                       || !pj_stricmp2(&reason->value, SEND_TO_VM_REDIRECT_VALUE));
 }
 
 static int has_call_feature(pjsip_rx_data *rdata)