Hello All,
We've been wrestling with SERS and SEMS config for
the past week, and I think we almost have it, but we are still getting a few
errors working with SEMS and the voicemail piece.
The main problem right now is that we are getting
this error returned from SEMS when the call is redirected to
voicemail.
Nov 26 17:40:58 jupiter Sems[2413]: Error: 404
voicemail: no email address for user <8641234567>
I've checked the record in the "subscriber" table
for this user in the "ser" database and the email address is there. I
thought, at first, that this might be caused by ser being unable to connect
to the mysql database (it's on a seperate server) .. I've verified that it is
connecting now though.
Anyone have any ideas why we might be getting this
error? I have attached our ser.cfg file for the voicemail ser router below
(in case it helps).
Any help would be very much appreciated.
Thanks in advance!! :)
---
#
# $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15
andrei Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters
------------------------
debug=3 # debug level
(cmd line:
-dddddddddd)
#fork=yes
#log_stderror=no
# (cmd line: -E)
check_via=no # (cmd. line:
-v)
dns=no #
(cmd. line: -r)
rev_dns=no # (cmd. line:
-R)
port=5060
children=4
fifo="/tmp/vm_ser_fifo"
# ------------------ module loading
----------------------------------
# Uncomment this if you want to use SQL
database
loadmodule "/usr/lib/ser/modules/mysql.so"
loadmodule
"/usr/lib/ser/modules/sl.so"
loadmodule
"/usr/lib/ser/modules/tm.so"
loadmodule
"/usr/lib/ser/modules/maxfwd.so"
loadmodule
"/usr/lib/ser/modules/vm.so"
#loadmodule
"/usr/lib/ser/modules/xlog.so"
#loadmodule
"/usr/lib/ser/modules/rr.so"
#loadmodule
"/usr/lib/ser/modules/usrloc.so"
#loadmodule
"/usr/lib/ser/modules/registrar.so"
#loadmodule
"/usr/lib/ser/modules/group.so"
#loadmodule
"/usr/lib/ser/modules/uri.so"
#loadmodule
"/usr/lib/ser/modules/acc.so"
#loadmodule
"/usr/lib/ser/modules/auth.so"
#loadmodule
"/usr/lib/ser/modules/auth_db.so"
# Uncomment this if you want digest authentication
# mysql.so must
be loaded !
#loadmodule "/usr/lib/ser/modules/auth.so"
#loadmodule
"/usr/lib/ser/modules/auth_db.so"
# ----------------- setting module-specific parameters
---------------
# -- usrloc params --
#modparam("usrloc", "db_mode", 0)
# Uncomment this if you want to use SQL database
# for persistent
storage and comment the previous line
#modparam("usrloc", "db_mode", 2)
# -- auth params --
# Uncomment if you are using auth
module
#
#modparam("auth_db", "calculate_ha1", yes)
#
# If you set
"calculate_ha1" parameter to yes (which true in this config),
# uncomment
also the following parameter)
#
#modparam("auth_db", "password_column",
"password")
# -- rr params --
# add value to ;lr param to make some broken UAs
happy
#modparam("rr", "enable_full_lr", 1)
modparam("voicemail", "db_url","sql://servm:servm55@10.10.0.55/ser")
# ------------------------- request routing logic
-------------------
# main routing logic
alias="ion.dom"
alias="10.10.0.58"
route{
# initial sanity checks --
messages with
# max_forwars==0, or
excessively long requests
if
(!mf_process_maxfwd_header("10"))
{
sl_send_reply("483","Too Many
Hops");
break;
};
# if (len_gt( max_len ))
{
#
sl_send_reply("513", "Message too
big");
#
break;
# };
if (!uri==myself)
{
sl_send_reply("404", "not reponsible for host in
r-uri");
break;
};
# Voicemail specific
configuration - begin
if(method=="ACK" ||
method=="INVITE" || method=="BYE"){
if (!t_newtran())
{
log("could not create new
transaction\n");
sl_send_reply("500","could not create new
transaction");
break;
};
t_reply("100","Trying -- just
wait a minute !");
if(method=="INVITE"){
log("**************** vm start - begin
******************\n");
if
(uri=~"sip:as_welcome@.*" || uri=~"sip:as_nomoney@.*")
{
if (!vm("/tmp/am_fifo", "announcement"))
{
log("couldn't contact announcement
server\n");
t_reply("500", "couldn not contact announcement
server");
};
} else
{
if(!vm("/tmp/am_fifo","voicemail")){
log("could not contact the answer
machine\n");
t_reply("500","could not contact the answer
machine");
};
};
log("**************** vm start
- end ******************\n");
}
else if(method=="BYE"){
log("**************** vm end - begin
******************\n");
if(!vm("/tmp/am_fifo","bye")){
log("could not contact the answer
machine\n");
t_reply("500","could not contact the answer
machine");
};
log("**************** vm end -
end
******************\n");
};
break;
};
if (method=="CANCEL")
{
sl_send_reply("200", "cancels are junked
here");
break;
};
sl_send_reply("501", "method
not understood here");
}