snprintf(passdata, passdatasize, "%d", msgnum);
pbx_builtin_setvar_helper(ast, "VM_MSGNUM", passdata);
pbx_builtin_setvar_helper(ast, "VM_MAILBOX", mailbox);
- pbx_builtin_setvar_helper(ast, "VM_CALLERID", ast_callerid_merge(callerid, sizeof(callerid), cidname, cidnum));
+ pbx_builtin_setvar_helper(ast, "VM_CALLERID", ast_callerid_merge(callerid, sizeof(callerid), cidname, cidnum, "Unknown Caller"));
pbx_builtin_setvar_helper(ast, "VM_CIDNAME", (cidname ? cidname : "an unknown caller"));
pbx_builtin_setvar_helper(ast, "VM_CIDNUM", (cidnum ? cidnum : "an unknown caller"));
pbx_builtin_setvar_helper(ast, "VM_DATE", date);
chan->exten,
chan->priority,
chan->name,
- ast_callerid_merge(callerid, sizeof(callerid), chan->cid.cid_name, chan->cid.cid_num),
+ ast_callerid_merge(callerid, sizeof(callerid), chan->cid.cid_name, chan->cid.cid_num, "Unknown"),
date, (long)time(NULL));
fclose(txt);
} else
return __ast_callerid_generate(buf, name, number, 1, codec);
}
-char *ast_callerid_merge(char *buf, int bufsiz, const char *name, const char *num)
+char *ast_callerid_merge(char *buf, int bufsiz, const char *name, const char *num, const char *unknown)
{
+ if (!unknown)
+ unknown = "<unknown>";
if (name && num)
snprintf(buf, bufsiz, "\"%s\" <%s>", name, num);
else if (name)
else if (num)
strncpy(buf, num, bufsiz - 1);
else
- strncpy(buf, "<unknown>", bufsiz - 1);
+ strncpy(buf, unknown, bufsiz - 1);
return buf;
}
int ast_callerid_split(const char *buf, char *name, int namelen, char *num, int numlen)
extern int ast_callerid_split(const char *src, char *name, int namelen, char *num, int numlen);
-extern char *ast_callerid_merge(char *buf, int bufsiz, const char *name, const char *num);
+extern char *ast_callerid_merge(char *buf, int bufsiz, const char *name, const char *num, const char *unknown);
/*
* Caller*ID and other GR-30 compatible generation