[Asterisk-Users] Asterisk-MySQL: Not loading voicemail config from MySQL

beonice
Fri, 11 Feb 2005 09:36:34 -0000

Folks,

I'm trying to get Asterisk to load my voicemail
configuration from MySQL. I've followed the
instructions at:

http://www.voip-info.org/wiki-Asterisk+voicemail+database

I restarted Asterisk, but no luck: the voicemail.conf
does not get updated. I started with a sample
voicemail.conf that I found on the Wiki. Or was it
from Voicepulse? I can't remember. For initial
testing, I added extensions 9999 and 100 in the
[voicepulse_connect_context] with appropriate settings
in extensions.conf to direct incoming calls to those
mailboxes, and that works. I was expecting that after
I added in the db details, reloading or restarting
Asterisk would add the new extension from MySQL's
'users' table into the voicemail.conf. It doesn't.

As soon as I type 1111 (the beginning of the mailbox
and also the extension number), I get the message:

*CLI> Feb 11 08:38:38 WARNING[5224]:
app_voicemail.c:1539 leave_voicemail: No entry in
voicemail config file for '1111'

If I add a line for 1111 into my voicemail.conf, all
works well.

Please help me understand what is going on here!

Thanks,
Maya.

--- My configuration ---

My 'users' table has 1 row only, for testing purposes:

+---------------------------+------------+----------+--------------+-------------------+-------+------------+----------------+
| context                   | mailbox    | password |
fullname     | email             | pager | options
| stamp          |
+---------------------------+------------+----------+--------------+-------------------+-------+------------+----------------+
| voicemail_connect_context | 1111       | 1234     |
Moron Tester | me@mydmn.com      |       | attach=yes
| 00000000000000 |
+---------------------------+------------+----------+--------------+-------------------+-------+------------+----------------+

--
The appropriate settings from extensions.conf:

[voicepulse_connect_context]  ; <-- Should match the
context you have
                  ;     under [voicepulse-in-01] in
iax.conf

exten => 100,1,Playback(tt-monkeys)
exten => 100,2,Record(/tmp/asterisk-recording:gsm)
;exten => 100,3,Wait(2)
exten => 100,3,Playback(/tmp/asterisk-recording)
;exten => 100,5,Wait(2)
exten => 9999,1,Playback(transfer,skip)
exten => 9999,2,VoiceMail,u9999
exten => 9999,102,VoiceMail,b9999
exten => 1111,1,VoiceMail,u1111
--

My complete voicemail.conf looks like this:
;
; Voicemail Configuration
;
[general]
; Default formats for writing Voicemail
;format=g723sf|wav49|wav
format=wav49|gsm|wav
; Who the e-mail notification should appear to come
from
serveremail=asterisk@linux-support.net
; Should the email contain the voicemail as an
attachment
attach=yes
; Maximum length of a voicemail message in seconds
;maxmessage=180
; Minimum length of a voicemail message in seconds
;minmessage=3
; Maximum length of greetings in seconds
;maxgreet=60
; How many miliseconds to skip forward/back when
rew/ff in message playback
skipms=3000
; How many seconds of silence before we end the
recording
maxsilence=10
; Silence threshold (what we consider silence, the
lower, the more sensitive)
silencethreshold=128
; Max number of failed login attempts
maxlogins=3
; If you need to have an external program, i.e.
/usr/bin/myapp
; called when a voicemail is left, delivered, or your
voicemailbox
; is checked, uncomment this:
;externnotify=/usr/bin/myapp
; If you need to have an external program, i.e.
/usr/bin/myapp
; called when a voicemail password is changed,
; uncomment this:
;externpass=/usr/bin/myapp
; For the directory, you can override the intro file
if you want
;directoryintro=dir-intro
; The character set for voicemail messages can be
specified here
;charset=ISO-8859-1
; The ADSI feature descriptor number to download to
;adsifdn=0000000F
; The ADSI security lock code
;adsisec=9BDBF7AC
; The ADSI voicemail application version number.
;adsiver=1
; Skip the "[PBX]:" string from the message title
pbxskip=yes
; Change the From: string
fromstring=The Asterisk PBX
;
;Change the From: string for pager messages
;pagerfromstring=The Asterisk PBX
;
; Change the email body and/or subject, variables:
;     VM_NAME, VM_DUR, VM_MSGNUM, VM_MAILBOX,
VM_CALLERID, VM_DATE
;
; Note: The emailbody config row can be up to 512
characters due to a limitation in
;       asterisk config files.
;emailsubject=New VM (${VM_MSGNUM}) - ${VM_DUR} long
in mailbox ${VM_MAILBOX} from ${VM_CALLERID}
emailbody=Dear ${VM_NAME}:\n\n\tjust wanted to let you
know you were just left a ${VM_DUR} long message
(number ${VM_MSGNUM})\nin mailbox ${VM_MAILBOX} from
${VM_CALLERID}, on ${VM_DATE} so you might\nwant to
check it when you get a chance.  Thanks!
;
; You can override the default program to send e-mail
if you wish, too
;
;mailcmd=/usr/sbin/sendmail -t
;
; Users may be located in different timezones, or may
have different
; message announcements for their introductory message
when they enter
; the voicemail system. Set the message and the
timezone each user
; hears here. Set the user into one of these zones
with the tz= attribute
; in the options field of the mailbox. Of course,
language substitution
; still applies here so you may have several directory
trees that have
; alternate language choices.
;
; Look in /usr/share/zoneinfo/ for names of timezones.
; Look at the manual page for strftime for a quick
tutorial on how the
; variable substitution is done on the values below.
;
; Supported values:
; 'filename'    filename of a soundfile (single ticks
around the filename required)
; ${VAR}        variable substitution
; A or a        Day of week (Saturday, Sunday, ...)
; B or b or h   Month name (January, February, ...)
; d or e        numeric day of month (first, second,
..., thirty-first)
; Y             Year
; I or l        Hour, 12 hour clock
; H             Hour, 24 hour clock (single digit
hours preceded by "oh")
; k             Hour, 24 hour clock (single digit
hours NOT preceded by "oh")
; M             Minute
; P or p        AM or PM
; Q             "today", "yesterday" or ABdY (*note:
not standard strftime value)
; q             "" (for today), "yesterday", weekday,
or ABdY (*note: not standard strftime value)
; R             24 hour time, including minute
;
;

;
; Each mailbox is listed in the form
<mailbox>=<password>,<name>,<email>,<pager_email>,<options>
; if the e-mail is specified, a message will be sent
when a message is
; received, to the given mailbox. If pager is
specified, a message will be sent there as well. If
the password is prefixed by '-' then it is considered
to be unchangable
;
; Advanced options example is extension 4069
; NOTE: All options can be expressed globally in the
general section, and overriden in the per-mailbox
; settings, unless listed otherwise.
;
; tz=central            ; Timezone from zonemessages
above.  Irrelevant if envelope=no.
; attach=yes            ; Attach the voicemail to the
notification email *NOT* the pager email
; saycid=yes            ; Say the caller id
information before the message. If not described,
                        ;     or set to no, it will be
in the envelope
; dialout=fromvm        ; Context to dial out from
[option 4 from the advanced menu]
                        ;     if not listed, dialing
out will not be permitted
sendvoicemail=yes       ; Context to Send voicemail
from [option 5 from the advanced menu]
                        ; if not listed, sending
messages from inside voicemail will not be
                        ; permitted
; callback=fromvm       ; Context to call back from
                        ;     if not listed, calling
the sender back will not be permitted
; review=yes            ; Allow sender to
review/rerecord their message before saving it [OFF by
default
; operator=yes          ; Allow sender to hit 0
before/after/during  leaving a voicemail to
                        ;     reach an operator  [OFF
by default]
; envelope=no           ; Turn on/off envelope
playback before message playback. [ON by default]
                        ;     This does NOT affect
option 3,3 from the advanced options menu
; delete=yes            ; After notification, the
voicemail is deleted from the server. [per-mailbox
only]
                        ;     This is intended for use
with users who wish to receive their voicemail ONLY by
email.
; nextaftercmd=yes      ; Skips to the next message
after hitting 7 or 9 to delete/save current message.
                        ;     [global option only at
this time]

;;
;; Configure to read from mySQL database
;;
dbuser=mydbuser
dbpass=mydbpass
dbhost=localhost
dbname=asterisk_vm

[zonemessages]
eastern=America/New_York|'vm-received' Q 'digits/at'
IMp
central=America/Chicago|'vm-received' Q 'digits/at'
IMp
central24=America/Chicago|'vm-received' q 'digits/at'
H 'digits/hundred' M 'hours'

[default]
1234 => 4242,Example Mailbox,root@localhost
;4200 => 9855,Mark
Spencer,markster@linux-support.net,mypager@digium.com,attach=no|serveremail=myaddy@digium.com|tz=central
;4300 => 3456,Ben Rigas,ben@american-computer.net
;4310 => -5432,Sales,sales@marko.net
;4069 => 6522,Matt
Brooks,matt@marko.net,,|tz=central|attach=yes|saycid=yes|dialout=fromvm|callback=fromvm|review=yes|operator=yes|envelope=yes
;4073 => 1099,Bianca
Paige,bianca@biancapaige.com,,delete=1
;4110 => 3443,Rob Flynn,rflynn@blueridge.net

;
; Mailboxes may be organized into multiple contexts
for
; voicemail virtualhosting
;

[other]
;The intro can be customized on a per-context basis
;directoryintro=dir-company2
1234 => 5678,Company2 User,root@localhost

[voicepulse_connect_context]
9999 => 1234,Test User,myaddress@mydomain.com
100 => 700,Test Voicemail,myaddress@mydomain.com


[zonemessages]
eastern=America/New_York|'vm-received' Q 'digits/at'
IMp
central=America/Chicago|'vm-received' Q 'digits/at'
IMp
central24=America/Chicago|'vm-received' q 'digits/at'
H 'digits/hundred' M 'hours'

[default]
1234 => 4242,Example Mailbox,root@localhost
;4200 => 9855,Mark
Spencer,markster@linux-support.net,mypager@digium.com,attach=no|serveremail=myaddy@digium.com|tz=central
;4300 => 3456,Ben Rigas,ben@american-computer.net
;4310 => -5432,Sales,sales@marko.net




__________________________________
Do you Yahoo!?
Take Yahoo! Mail with you! Get it on your mobile phone.