Merged revisions 123110 via svnmerge from
authorTilghman Lesher <tilghman@meg.abyt.es>
Mon, 16 Jun 2008 19:23:51 +0000 (19:23 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Mon, 16 Jun 2008 19:23:51 +0000 (19:23 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r123110 | tilghman | 2008-06-16 14:21:58 -0500 (Mon, 16 Jun 2008) | 8 lines

People expect that if "hasvoicemail" is set in users.conf, even if "mailbox"
isn't set, that SIP will detect a mailbox.
(closes issue #12855)
 Reported by: PLL
 Patches:
       20080614__bug12855__2.diff.txt uploaded by Corydon76 (license 14)
 Tested by: PLL

........

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

channels/chan_sip.c

index 562f4ad..64e1e5b 100644 (file)
@@ -21259,6 +21259,12 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str
                        ast_copy_string(peer->parkinglot, v->value, sizeof(peer->parkinglot));
                } else if (!strcasecmp(v->name, "mailbox")) {
                        add_peer_mailboxes(peer, v->value);
+               } else if (!strcasecmp(v->name, "hasvoicemail")) {
+                       /* People expect that if 'hasvoicemail' is set, that the mailbox will
+                        * be also set, even if not explicitly specified. */
+                       if (ast_true(v->value) && ast_strlen_zero(peer->mailbox)) {
+                               ast_copy_string(peer->mailbox, name, sizeof(peer->mailbox));
+                       }
                } else if (!strcasecmp(v->name, "subscribemwi")) {
                        ast_set2_flag(&peer->flags[1], ast_true(v->value), SIP_PAGE2_SUBSCRIBEMWIONLY);
                } else if (!strcasecmp(v->name, "vmexten")) {