dect
/
asterisk
Archived
13
0
Fork 0

Grab the Message-ID too

git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3473 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
markster 2004-07-18 20:50:37 +00:00
parent 755fd3d96a
commit d2d59c9b31
2 changed files with 30 additions and 1 deletions

View File

@ -923,7 +923,7 @@ static int sendmail(char *srcemail, struct ast_vm_user *vmu, int msgnum, char *m
fprintf(p, "Subject: New message %d in mailbox %s\n", msgnum + 1, mailbox);
else
fprintf(p, "Subject: [PBX]: New message %d in mailbox %s\n", msgnum + 1, mailbox);
fprintf(p, "Message-ID: <Asterisk-%d-%s-%d@%s>\n", msgnum, mailbox, getpid(), host);
fprintf(p, "Message-ID: <Asterisk-%d-%d-%s-%d@%s>\n", msgnum, (unsigned int)rand(), mailbox, getpid(), host);
fprintf(p, "MIME-Version: 1.0\n");
if (attach_user_voicemail) {
/* Something unique. */

View File

@ -4972,6 +4972,35 @@ static void *ss_thread(void *data)
case SIG_FXSLS:
case SIG_FXSGS:
case SIG_FXSKS:
if (p->pri) {
/* This is a GR-303 trunk actually. Wait for the first ring... */
struct ast_frame *f;
int res;
time_t start;
time(&start);
ast_setstate(chan, AST_STATE_RING);
while(time(NULL) < start + 3) {
res = ast_waitfor(chan, 1000);
if (res) {
f = ast_read(chan);
if (!f) {
ast_log(LOG_WARNING, "Whoa, hangup while waiting for first ring!\n");
ast_hangup(chan);
return NULL;
} else if ((f->frametype == AST_FRAME_CONTROL) && (f->subclass == AST_CONTROL_RING)) {
res = 1;
} else
res = 0;
ast_frfree(f);
if (res) {
ast_log(LOG_DEBUG, "Got ring!\n");
res = 0;
break;
}
}
}
}
if (p->use_callerid) {
cs = callerid_new();
if (cs) {