<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META content="MSHTML 5.00.3315.2870" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hello,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Has anyone tried the voicemail module along with
SEMS (Sip Express Media Server)?</FONT></DIV>
<DIV><FONT face=Arial size=2>I have tried to use it with an ATA 186 phone but I
get the following erros:</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>(13328) ERROR: parse_sdp_line_ex
(AmSdp.cpp:317): parse_sdp_line : parameter 'v=' was not
found<BR>(process:13354): oRTP-WARNING **: Error receiving udp packet: Socket
operation on non-socket.</FONT></DIV>
<DIV><FONT face=Arial size=2>(process:13354): oRTP-WARNING **: Error receiving
udp packet: Socket operation on non-socket.</FONT></DIV>
<DIV><FONT face=Arial size=2>(process:13354): oRTP-WARNING **: Error receiving
udp packet: Socket operation on non-socket.</FONT></DIV>
<DIV><FONT face=Arial size=2><FONT face=Arial size=2>(process:13354):
oRTP-WARNING **: Error receiving udp packet: Socket operation on
non-socket.</FONT></FONT></DIV>
<DIV><FONT face=Arial size=2>...... it keeps logging this message
.....</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>Any ideas why is this happening?</FONT></DIV>
<DIV><FONT face=Arial size=2>I also would like to know what codecs
does this voicemail supports? </FONT></DIV>
<DIV><FONT face=Arial size=2>Is there a way to retrieve the messages by phone or
just by email?</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>Attached are ethereal captures and config
files.</FONT></DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>Regards,</FONT></DIV>
<DIV><FONT face=Arial size=2>Claudio Thorell</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>##########################</FONT></DIV></FONT><FONT
face=Arial size=2>SER.CFG</FONT></DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>##########################</FONT></DIV></FONT><FONT
face=Arial size=2><BR># ----------- global configuration parameters
------------------------</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial
size=2>debug=3
# debug level (cmd line:
-dddddddddd)<BR>fork=yes<BR>log_stderror=no</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial
size=2>check_via=no
# (cmd. line:
-v)<BR>dns=no
# (cmd. line:
-r)<BR>rev_dns=no
# (cmd. line:
-R)<BR>port=5060<BR>children=4<BR>fifo="/tmp/ser_fifo"<BR></FONT></DIV>
<DIV><FONT face=Arial size=2># ------------------ module loading
----------------------------------</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>loadmodule
"/usr/local/lib/ser/modules/sl.so"<BR>loadmodule
"/usr/local/lib/ser/modules/tm.so"<BR>loadmodule
"/usr/local/lib/ser/modules/rr.so"<BR>loadmodule
"/usr/local/lib/ser/modules/acc.so"<BR>loadmodule
"/usr/local/lib/ser/modules/maxfwd.so"<BR>loadmodule
"/usr/local/lib/ser/modules/usrloc.so"<BR>loadmodule
"/usr/local/lib/ser/modules/registrar.so"<BR>loadmodule
"/usr/local/lib/ser/modules/exec.so"<BR>loadmodule
"/usr/local/lib/ser/modules/mysql.so"<BR>loadmodule
"/usr/local/lib/ser/modules/auth.so"<BR>loadmodule
"/usr/local/lib/ser/modules/textops.so"<BR>loadmodule
"/usr/local/lib/ser/modules/auth_db.so"<BR>loadmodule
"/usr/local/lib/ser/modules/uri.so"<BR>loadmodule
"/usr/local/lib/ser/modules/vm.so"</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2># ----------------- setting module-specific
parameters ---------------</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2># -- usrloc params --<BR>modparam("usrloc",
"db_mode", 2)<BR>modparam("usrloc", "timer_interval", 10)</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2># -- auth params --<BR>modparam("auth", "secret",
"alsdkhglaksdhfkloiwr")<BR>modparam("auth_db", "calculate_ha1",
yes)<BR>modparam("auth_db", "password_column", "password")</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2># -- tm params
--<BR>modparam("tm","ruri_matching",0)</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2># ------------------------- request routing
logic -------------------</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2># main routing logic</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>route{</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> #
initial sanity checks -- messages
with<BR> # max_forwars==0, or
excessively long requests<BR> if
(!mf_process_maxfwd_header("10"))
{<BR>
sl_send_reply("483","Too Many
Hops");<BR>
break;<BR>
};<BR> if (len_gt( max_len ))
{<BR>
sl_send_reply("513", "Message too
big");<BR>
break;<BR> };</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> # we
record-route all messages -- to make sure
that<BR> # subsequent messages will go
through our proxy; that's<BR> #
particularly good if upstream and downstream
entities<BR> # use different transport
protocol<BR>
record_route();<BR> # loose-route
processing<BR>
loose_route();</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> # Make
MSN Messenger happy...<BR> if
(method=="REGISTER")
{<BR>
log(1,"Register
message\n");<BR>
save("tln_location");<BR>
sl_send_reply("200","ok");<BR>
break;<BR> };</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial
size=2><BR>
# Voicemail specific configuration - begin</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial
size=2>
if(method=="ACK" || method=="INVITE" || method=="BYE"){</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial
size=2>
if(t_newtran()){</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial
size=2>
t_reply("100","Trying -- just wait a minute !");</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial
size=2>
if(method=="INVITE"){<BR>
log(1,"**************** vm start - begin
******************\n");<BR>
if(!vm("/tmp/am_fifo","voicemail")){<BR>
log("could not contact the answer
machine\n");<BR>
t_reply("500","could not contact the answer
machine");<BR>
};<BR>
log(1,"**************** vm start - end
******************\n");<BR>
break;<BR>
};</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial
size=2>
if(method=="BYE"){<BR>
log(1,"**************** vm end - begin
******************\n");<BR>
if(!vm("/tmp/am_fifo","bye")){<BR>
log("could not contact the answer
machine\n");<BR>
t_reply("500","could not contact the answer
machine");<BR>
};<BR>
log(1,"**************** vm end - end
******************\n");<BR>
break;<BR>
};<BR>
}<BR>
else
{<BR>
log("could not create new
transaction\n");<BR>
sl_send_reply("500","could not create new
transaction");<BR>
};<BR>
};</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial
size=2>
# Voicemail specific configuration - end<BR>}</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>##########################</FONT></DIV>
<DIV><FONT face=Arial size=2>SEMS.CFG</FONT></DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>##########################</FONT></DIV>
<DIV># $Id: sems.conf.sample,v 1.1 2003/06/17 16:05:01 ullstar Exp $<BR>#<BR>#
sems.conf.sample<BR>#<BR># Sip Express Media Server (sems)<BR>#<BR># sample
configuration file<BR>#<BR>#<BR># whitespaces (spaces and tabs) are ignored<BR>#
comments start with a "#" and may be used inline<BR>#<BR># example:
option=value1, value2 # i like this option<BR>#</DIV>
<DIV> </DIV>
<DIV>##################################<BR># global
parameters
#<BR>##################################</DIV>
<DIV> </DIV>
<DIV># optional parameter: fork={yes|no}<BR>#<BR># - specifies if sems should
run in daemon mode (background)<BR>fork=yes</DIV>
<DIV> </DIV>
<DIV># optional parameter: stderr={yes|no}<BR>#<BR># - debug mode: do not fork
and log to stderr<BR>stderr=no</DIV>
<DIV> </DIV>
<DIV># optional parameter: loglevel={0|1|2|3}<BR>#<BR># - sets log level
(error=0, warning=1, info=2, debug=3)<BR>loglevel=1</DIV>
<DIV> </DIV>
<DIV># optional parameter: fifo_name=<filename><BR>#<BR># - path and file
name of our fifo file<BR>fifo_name=/tmp/am_fifo</DIV>
<DIV> </DIV>
<DIV># optional parameter: ser_fifo_name=<filename><BR>#<BR># - path and
file name of Ser's fifo file<BR>ser_fifo_name=/tmp/ser_fifo</DIV>
<DIV> </DIV>
<DIV># optional parameter: plugin_path=<path><BR>#<BR># - sets the path to
the plug-ins<BR># - may be absolute or relative to
CWD<BR>plugin_path=/usr/local/src/answer_machine/lib</DIV>
<DIV> </DIV>
<DIV><BR>##################################<BR># voicemail specific
parameters #<BR>##################################</DIV>
<DIV> </DIV>
<DIV># optional parameter: announce_path=<path><BR>#<BR># - sets the path
where announce files are searched
for<BR>announce_path=/usr/local/src/answer_machine/wav/</DIV>
<DIV> </DIV>
<DIV># optional parameter: default_announce=<filename><BR>#<BR># - sets
the name of the default announce WAV
file<BR>#default_announce=/usr/local/src/answer_machine/wav/default.wav<BR>default_announce=default.wav</DIV>
<DIV> </DIV>
<DIV># optional parameter: max_record=<seconds><BR>#<BR># - maximum record
time<BR>max_record=30</DIV>
<DIV> </DIV>
<DIV># optional parameter: smtp_server=<hostname><BR>#<BR># - sets address
of smtp server<BR>smtp_server=localhost</DIV>
<DIV> </DIV>
<DIV># optional parameter: smtp_port=<port><BR>#<BR># - sets port of smtp
server<BR>smtp_port=25</DIV>
<DIV> </DIV>
<DIV><BR>##################################<BR># module specific
parameters #<BR>##################################</DIV>
<DIV> </DIV>
<DIV># sample isdngw module configuration (external file)<BR>#
config.isdngw=/etc/isdngw.conf</DIV>
<DIV> </DIV>
<DIV># sample isdngw module configuration (inline)<BR>config.isdngw=inline</DIV>
<DIV> </DIV>
<DIV># parameters for outgoing service (SIP -> PSTN)</DIV>
<DIV> </DIV>
<DIV># required parameter: outdevices=<dev1>, <dev2>, <dev3>,
...<BR>#<BR># - specifies which ttyI* devices to use for outgoing
telephony calls<BR># - devices must be fully accessible by the vm process'
user<BR># - the number of devices listed is the maximum of
simultaneous<BR># outgoing phone calls (if not otherwise
restricted)<BR>outdevices=/dev/ttyI10, /dev/ttyI11, /dev/ttyI12</DIV>
<DIV> </DIV>
<DIV># required parameter: outmsn=<msn><BR>#<BR># - specifies the
default msn for outgoing calls<BR>outmsn=</DIV>
<DIV> </DIV>
<DIV># optional parameter: lockdir=/where/to/store/logfiles<BR>#<BR># -
specifies the directory where to put the lockfiles<BR># - default:
lockdir=/var/lock<BR>lockdir=/var/lock</DIV>
<DIV> </DIV>
<DIV># optional parameter: outmaxconn=<number><BR>#<BR># - specifies
the maximum number of outgoing connections<BR># - parameter is max-limited
by:<BR># * number of devices specified in
outdevices<BR># * number of available ISDN
b-channels<BR># - setting to 0 or omitting the parameter allows any number
of calls<BR>outmaxcon=0</DIV>
<DIV> </DIV>
<DIV># optional parameter: outlogfile=<file><BR>#<BR># - specifies a
log file, where all outgoing calls are listed<BR>outlogfile=</DIV>
<DIV> </DIV>
<DIV># optional parameter: forcenumber=<start of number><BR>#<BR># -
specifies allowed numbers<BR># - e.g. forcenumber=030 means allow only
numbers starting with 030<BR>forcenumber=</DIV>
<DIV> </DIV>
<DIV># end of configuration section for isdngw module<BR>config.isdngw=end</DIV>
<DIV> </DIV>
<DIV><BR># add more module configurations here (inline or external):<BR>#<BR>#
config.mymodule=<filename><BR># or<BR># config.mymodule=inline<BR>#
...<BR># config.mymodule=end</DIV>
<DIV> </DIV>
<DIV> </DIV></FONT></DIV>
<DIV> </DIV></BODY></HTML>