diff -Nru a/channels/chan_iax2.c b/channels/chan_iax2.c --- a/channels/chan_iax2.c 2004-12-11 22:22:01 -07:00 +++ b/channels/chan_iax2.c 2004-12-11 22:22:01 -07:00 @@ -195,6 +195,7 @@ char accountcode[20]; char inkeys[80]; /* Key(s) this user can use to authenticate to us */ char language[MAX_LANGUAGE]; + char mailbox[AST_MAX_EXTENSION]; /* Mailbox for access to VM */ int amaflags; int hascallerid; int delme; @@ -3699,7 +3700,12 @@ iaxs[callno]->vars = tmpvar; } } - + if (!ast_strlen_zero(user->mailbox)) { + if ((tmpvar = ast_new_variable("USER_MAILBOX", user->mailbox))) { + tmpvar->next = iaxs[callno]->vars; + iaxs[callno]->vars = tmpvar; + } + } /* Store the requested username if not specified */ if (ast_strlen_zero(iaxs[callno]->username)) strncpy(iaxs[callno]->username, user->name, sizeof(iaxs[callno]->username)-1); @@ -6705,6 +6711,8 @@ strncpy(user->accountcode, v->value, sizeof(user->accountcode)-1); } else if (!strcasecmp(v->name, "language")) { strncpy(user->language, v->value, sizeof(user->language)-1); + } else if (!strcasecmp(v->name, "mailbox")) { + strncpy(user->mailbox, v->value, sizeof(user->mailbox) - 1); } else if (!strcasecmp(v->name, "amaflags")) { format = ast_cdr_amaflags2int(v->value); if (format < 0) { diff -Nru a/channels/chan_sip.c b/channels/chan_sip.c --- a/channels/chan_sip.c 2004-12-11 22:22:01 -07:00 +++ b/channels/chan_sip.c 2004-12-11 22:22:01 -07:00 @@ -395,6 +395,7 @@ char language[MAX_LANGUAGE]; /* Default language for this user */ char musicclass[MAX_LANGUAGE]; /* Music on Hold class */ char useragent[256]; /* User agent in SIP request */ + char mailbox[AST_MAX_EXTENSION]; /* Mailbox setting for access to VM */ struct ast_codec_pref prefs; /* codec prefs */ unsigned int callgroup; /* Call group */ unsigned int pickupgroup; /* Pickup Group */ @@ -5379,6 +5380,12 @@ p->vars = tmpvar; } } + if (!ast_strlen_zero(user->mailbox)) { + if ((tmpvar = ast_new_variable("USER_MAILBOX", user->mailbox))) { + tmpvar->next = p->vars; + p->vars = tmpvar; + } + } p->prefs = user->prefs; p->nat = user->nat; #ifdef OSP_SUPPORT @@ -8274,6 +8281,8 @@ strncpy(user->language, v->value, sizeof(user->language)-1); } else if (!strcasecmp(v->name, "musiconhold")) { strncpy(user->musicclass, v->value, sizeof(user->musicclass)-1); + } else if (!strcasecmp(v->name, "mailbox")) { + strncpy(user->mailbox, v->value, sizeof(user->mailbox)-1); } else if (!strcasecmp(v->name, "accountcode")) { strncpy(user->accountcode, v->value, sizeof(user->accountcode)-1); } else if (!strcasecmp(v->name, "incominglimit")) {