[Asterisk-Users] Re: [Asterisk-Users]: External access to voicemail
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
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
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
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
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 <>