[Asterisk-Users] Re: [Asterisk-Users]: External access to voicemail

2004-04-09 Thread Brian Buhrow
Hello steve.  Here is a patch I wrote for app_voicemail.c which does
exactly as you describe.  When the outgoing message is playing, if the
listener hits the "*" key, they're prompted for a mailbox and password,
whereupon they can check their voicemail as if they were using the internal
phone.  I found no other way of doing this.
If you patch your app_voicemail.c, I have V1.44 from CVS as of
12/11/2003, with this diff file, and recompile the app_voicemail.so module
and install it in /usr/lib/asterisk/modules and then, from the command line
of Asterisk, do:
unload app_voicemail.so
load app_voicemail.so
you should have the new feature, all without having to stop and restart
asterisk.
Good luck, and let me know if it works for you.
-Brian

--- app_voicemail.c.fcs Thu Dec 11 12:55:25 2003
+++ app_voicemail.c Sat Feb 28 16:21:15 2004
@@ -1083,7 +1083,7 @@
char prefile[256]="";
char fmt[80];
char *context;
-   char *ecodes = "#";
+   char *ecodes = "*#";
char *stringp;
time_t start;
time_t end;
@@ -1117,12 +1117,12 @@
if (mkdir(dir, 0700) && (errno != EEXIST))
ast_log(LOG_WARNING, "mkdir '%s' failed: %s\n", dir, 
strerror(errno));
if (ast_exists_extension(chan, strlen(chan->macrocontext) ? 
chan->macrocontext : chan->context, "o", 1, chan->callerid))
-   ecodes = "#0";
+   ecodes = "*#0";
/* Play the beginning intro if desired */
if (strlen(prefile)) {
if (ast_fileexists(prefile, NULL, NULL) > 0) {
if (ast_streamfile(chan, prefile, chan->language) > 
-1) 
-   res = ast_waitstream(chan, "#0");
+   res = ast_waitstream(chan, "*#0");
} else {
ast_log(LOG_DEBUG, "%s doesn't exist, doing what we 
can\n", prefile);
res = invent_message(chan, vmu->context, ext, busy, 
ecodes);
@@ -1138,6 +1138,10 @@
silent = 1;
res = 0;
}
+   if (res == '*') { /*break out to main vm*/
+   free_user(vmu);
+   return(100);
+   }
if (!res && !silent) {
res = ast_streamfile(chan, INTRO, chan->language);
if (!res)
@@ -1156,6 +1160,10 @@
free_user(vmu);
return 0;
}
+   if (res == '*') { /*break out to main vm*/
+   free_user(vmu);
+   return(100);
+   }
if (res >= 0) {
/* Unless we're *really* silent, try to send the beep */
res = ast_streamfile(chan, "beep", chan->language);
@@ -2678,6 +2686,9 @@
}
res = leave_voicemail(chan, ext, silent, busy, unavail);
LOCAL_USER_REMOVE(u);
+   if (res == 100) { /*The user requested vm main*/
+   res = vm_execmain(chan, NULL);
+   }
return res;
 }
 
___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


RE: [Asterisk-Users] External access to voicemail

2004-04-09 Thread Joe Dennick
Use another DID for just voicemial so all users can call into it, enter
their extension and then then password to access their own voicemail.  I
just created this today for a Production system.  The extensions.conf looks
like this for anyone who call 963-4400:
 
   exten => 4400,1,Voicemailmain()
   exten => 4400,2,Hangup.
 
Upon entering voicemail, the user will be prompted to enter their mailbox
number and then their password.

-Original Message-
From: Keith D'Atrio [mailto:[EMAIL PROTECTED] On Behalf
Of Keith D'Atrio
Sent: Thursday, April 08, 2004 2:47 PM
To: [EMAIL PROTECTED]
Subject: RE: [Asterisk-Users] External access to voicemail


Instead of using playback for your vm sounds try the Background command.
This command allows interruption by hitting a key.
 
Keith

   _  

From: [EMAIL PROTECTED] on behalf of Steven Kokinos
Sent: Thu 4/8/2004 02:41 PM
To: [EMAIL PROTECTED]
Subject: [Asterisk-Users] External access to voicemail


in my setup i have several users with DID lines coming in from various
sip/iax providers. within our old phone system, a user could call their own
DID line, then hit the * key when they hear their voicemail greeting and be
prompted for their password. 
 
is there any way this could be replicated within asterisk? i'm having
trouble figuring it out since it steps through things sequentially, whereas
i want to scan for input during the playback. 
 
any help would be greatly appreciated.
 
regards,
 
-steve


---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.645 / Virus Database: 413 - Release Date: 3/28/2004



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.645 / Virus Database: 413 - Release Date: 3/28/2004
 
<>

Re: [Asterisk-Users] External access to voicemail

2004-04-08 Thread John Todd
At 2:41 PM -0400 on 4/8/04, Steven Kokinos wrote:
in my setup i have several users with DID lines coming in from 
various sip/iax providers. within our old phone system, a user could 
call their own DID line, then hit the * key when they hear their 
voicemail greeting and be prompted for their password.

is there any way this could be replicated within asterisk? i'm 
having trouble figuring it out since it steps through things 
sequentially, whereas i want to scan for input during the playback.

any help would be greatly appreciated.

regards,

-steve
Hint #1) Don't send HTML email

Hints #2-4) Look at the "Background" utility, then look at where the 
"busy" and "unavailable" messages are stored for each user, and then 
look at the Voicemail2 options that go right to the mailbox without 
playing the introductory message(s).  You should be able to piece 
something together with those clues.

JT
___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [Asterisk-Users] External access to voicemail

2004-04-08 Thread William Suffill
in the context of the incoming DID assuming their Caller ID is equal to
the mailbox for their voicemail aka DID #

exten * => 1,VoicemailMain(${CALLERIDNUM})

You might want to improve this though like so:
Add all assigned DIDs to an Asterisk DB
On * check if callerid is a valid did u assigned
if yes then VoicemailMain(${CALLERIDNUM})
else VoicemailMain()

This would cause them just get get a password prompt for their VM
if they call from a caller id matching the mailbox and press *
If the callerid doesn't match then call Voicemailmain without an arg
then they will get a prompt for the voicemail exten then password so
they can enter their did manually before the password prompt.
On Thu, 2004-04-08 at 14:41, Steven Kokinos wrote:
> in my setup i have several users with DID lines coming in from various
> sip/iax providers. within our old phone system, a user could call
> their own DID line, then hit the * key when they hear their voicemail
> greeting and be prompted for their password. 
>  
> is there any way this could be replicated within asterisk? i'm having
> trouble figuring it out since it steps through things sequentially,
> whereas i want to scan for input during the playback. 
>  
> any help would be greatly appreciated.
>  
> regards,
>  
> -steve

___
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


RE: [Asterisk-Users] External access to voicemail

2004-04-08 Thread Keith D'Atrio
Instead of using playback for your vm sounds try the Background command. This command 
allows interruption by hitting a key.
 
Keith



From: [EMAIL PROTECTED] on behalf of Steven Kokinos
Sent: Thu 4/8/2004 02:41 PM
To: [EMAIL PROTECTED]
Subject: [Asterisk-Users] External access to voicemail


in my setup i have several users with DID lines coming in from various sip/iax 
providers. within our old phone system, a user could call their own DID line, then hit 
the * key when they hear their voicemail greeting and be prompted for their password. 
 
is there any way this could be replicated within asterisk? i'm having trouble figuring 
it out since it steps through things sequentially, whereas i want to scan for input 
during the playback. 
 
any help would be greatly appreciated.
 
regards,
 
-steve
<>