[Serusers] ser+sems problem
Sean
u0085200 at cc.ncu.edu.tw
Fri Aug 13 21:24:49 CEST 2004
when I try to a call, it appear this problem
and I install ser-0.8.12 and sems(cvs)
I can't find ans_machine in my server.
how to solve it.
thanks.
Aug 14 03:17:12 knuth /usr/local/sbin/ser[19748]: voicemail - initializing
child 8
Aug 14 03:17:12 knuth /usr/local/sbin/ser[19742]: voicemail - initializing
child 6
Aug 14 03:17:12 knuth /usr/local/sbin/ser[19731]: SER: open_uac_fifo: fifo
server up at /tmp/ser_fifo...
Aug 14 03:17:12 knuth /usr/local/sbin/ser[19745]: voicemail - initializing
child 7
Aug 14 03:17:12 knuth /usr/local/sbin/ser[19752]: voicemail - initializing
child -4
Aug 14 03:17:12 knuth /usr/local/sbin/ser[19696]: voicemail - initializing
child 0
Aug 14 03:17:12 knuth /usr/local/sbin/ser[19739]: voicemail - initializing
child 5
Aug 14 03:17:18 knuth /usr/local/sbin/ser[19718]: ERROR: voicemail:
ans_machine deamon is not running !
Aug 14 03:17:18 knuth /usr/local/sbin/ser[19718]: ERROR: voicemail: No such
device or address
Aug 14 03:17:18 knuth /usr/local/sbin/ser[19718]: ERROR: vm_start:
write_to_fifo failed
----
I try to sems -E -D 3
Aug 14 03:20:13 knuth /usr/local/sbin/ser[19731]: ERROR: fifo_server:
command t_reply is not available
Aug 14 03:20:13 knuth /usr/local/sbin/ser[19731]: ERROR: fifo_server:
command must begin with :: ringing
Aug 14 03:20:13 knuth /usr/local/sbin/ser[19731]: ERROR: fifo_server:
command must begin with :: 00004D3624F6662E
Aug 14 03:20:13 knuth /usr/local/sbin/ser[19731]: ERROR: fifo_server:
command must have at least 3 chars
Aug 14 03:20:13 knuth /usr/local/sbin/ser[19731]: ERROR: fifo_server:
command t_reply is not available
Aug 14 03:20:13 knuth /usr/local/sbin/ser[19731]: ERROR: fifo_server:
command must have at least 3 chars
Aug 14 03:20:13 knuth /usr/local/sbin/ser[19731]: ERROR: fifo_server:
command must begin with :: 00004D3624F6662E
Aug 14 03:20:13 knuth /usr/local/sbin/ser[19731]: ERROR: fifo_server:
command must begin with :: Content-Type: application/sdp
Aug 14 03:20:13 knuth /usr/local/sbin/ser[19731]: ERROR: fifo_server:
command must begin with :: v=0
Aug 14 03:20:13 knuth /usr/local/sbin/ser[19731]: ERROR: fifo_server:
command must begin with :: s=session
Aug 14 03:20:13 knuth /usr/local/sbin/ser[19731]: ERROR: fifo_server:
command must begin with :: t=0 0
Aug 14 03:20:13 knuth /usr/local/sbin/ser[19731]: ERROR: fifo_server:
command must begin with :: a=rtpmap:0 /^H
Aug 14 03:20:13 knuth /usr/local/sbin/ser[19731]: ERROR: fifo_server:
command t_reply is not available
Aug 14 03:20:13 knuth /usr/local/sbin/ser[19731]: ERROR: fifo_server:
command must begin with :: could not send response.
Aug 14 03:20:13 knuth /usr/local/sbin/ser[19731]: ERROR: fifo_server:
command must begin with :: 00004D3624F6662E
Aug 14 03:20:13 knuth /usr/local/sbin/ser[19731]: ERROR: fifo_server:
command must have at least 3 chars
here is my and ser.cfg sems.conf
----
debug=3
fork=yes
log_stderror=no
check_via=no
dns=no
rev_dns=no
port=5060
children=4
fifo="/tmp/ser_fifo"
loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
loadmodule "/usr/local/lib/ser/modules/vm.so"
loadmodule "/usr/local/lib/ser/modules/exec.so"
modparam("usrloc", "db_mode", 2)
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")
modparam("rr", "enable_full_lr", 1)
modparam("voicemail", "db_url", "sql://ser:heslo@localhost/ser")
modparam("tm", "fr_inv_timer", 15)
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with
# max_forwards==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;
};
# we record-route all messages -- to make sure that
# subsequent messages will go through our proxy; that's
# particularly good if upstream and downstream entities
# use different transport protocol
record_route();
# loose-route processing
if (loose_route()) {
t_relay();
break;
};
#nsert_ucontact(locations, contact, expires, q, callid, cseq, flags, cont);
# if the request is for other domain use UsrLoc
# (in case, it does not work, use the following command
# with proper names and addresses in it)
if (uri==myself) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
if (!www_authorize("<Myserver>", "subscriber")) {
www_challenge("<Myserver>", "0");
break;
};
save("location");
break;
};
lookup("aliases");
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
# sl_send_reply("404", "Not Found");
# break;
#
if(method=="ACK" || method=="INVITE" || method=="BYE" ||
method=="REFER"){
if(t_newtran()){
t_reply("100","Trying -- just wait a minute !");
if(method=="INVITE" || method=="REFER"){
log("**************** vm start - begin ******************\n");
if( uri =~ "conference" ){
if(!vm("/tmp/am_fifo","conference")){
log("could not contact conference server\n");
t_reply("500","could not contact conference server");
};
}
else if( uri =~ "echo" ){
if(!vm("/tmp/am_fifo","echo")){
log("could not contact echo\n");
t_reply("500","could not contact echo");
};
}
else {
if(!vm("/tmp/am_fifo","voicemail")){
log("could not contact voicemail\n");
t_reply("500","could not contact voicemail");
};
};
log("**************** vm start - end ******************\n");
break;
};
if(method=="BYE"){
log("**************** vm end/refer - begin ******************\n");
if(!vm("/tmp/am_fifo","bye")){
log("could not contact the media server\n");
t_reply("500","could not contact the media server");
};
log("**************** vm end/refer - end ********************\n");
break;
};
}
else {
log("could not create new transaction\n");
sl_send_reply("500","could not create new transaction");
};
};
};
# forward to current uri now; use stateful forwarding; that
# works reliably even if we forward from TCP to UDP
if (!t_relay()) {
sl_reply_error();
};
}
----
# $Id: sems.conf.sample,v 1.17 2004/07/19 20:43:14 sayer Exp $
#
# sems.conf.sample
#
# Sip Express Media Server (sems)
#
# sample configuration file
#
#
# whitespaces (spaces and tabs) are ignored
# comments start with a "#" and may be used inline
#
# example: option=value1, value2 # i like this option
#
##################################
# global parameters #
##################################
# optional parameter: fork={yes|no}
#
# - specifies if sems should run in daemon mode (background)
# (fork=no is the same as -E)
fork=yes
# optional parameter: stderr={yes|no}
#
# - debug mode: do not fork and log to stderr
# (stderr=yes is the same as -E)
stderr=no
# optional parameter: loglevel={0|1|2|3}
#
# - sets log level (error=0, warning=1, info=2, debug=3)
# (same as -D)
loglevel=1
# optional parameter: fifo_name=<filename>
#
# - path and file name of our fifo file (same as -i)
fifo_name=/tmp/am_fifo
# optional parameter: ser_fifo_name=<filename>
#
# - path and file name of Ser's fifo file (same as -o)
ser_fifo_name=/tmp/ser_fifo
# optional parameter: plugin_path=<path>
#
# - sets the path to the plug-ins
# - may be absolute or relative to CWD
plugin_path=/usr/local/lib/sems/plug-in/
# optional parameter: smtp_server=<hostname>
#
# - sets address of smtp server
smtp_server=localhost
# optional parameter: smtp_port=<port>
#
# - sets port of smtp server
smtp_port=25
# optional parameter: rtp_low_port=<port>
#
# - sets port of rtp lowest server
#rtp_low_port=1024
# optional parameter: rtp_high_port=<port>
#
# - sets port of rtp highest server
#rtp_high_port=65535
##################################
# module specific parameters #
##################################
# sample voicemail configuration (inline)
config.voicemail=inline
# optional parameter: rec_file_extension=<ext>
#
# - sets the file extension which will be used
# to record messages.
# - example 1: wav
# - example 2: mp3
#
# WARNING: you must compile the mp3 plug-in
# in order to use 'mp3' as default
# extension. You will need the lame
# encoder for that.
# See plug-in/mp3/ReadmeMP3.txt for
# more information.
#
rec_file_extension=wav
# optional parameter: announce_path=<path>
#
# - sets the path where announce files are searched for
# - the file to be played is determined the following way:
# <announce_path>/<domainname>/<username>.wav
# if this file is not available <announce_path>/<default_anounce> is used
announce_path=/usr/local/lib/sems/audio/
# parameter: default_announce=<filename>
#
# - sets the name of the default announce WAV file
default_announce=default_en.wav
# parameter: max_record_time=<seconds>
#
# - maximum record time
max_record_time=30
# parameter: accept_delay=<x>
#
# - delays accepting of the call for x seconds
# - default value is 0
accept_delay=0
# parameter: email_template=<filename>
#
# - email template file
#
# See the README file in <sems-src>/plug-in/voicemail
# for more information on the syntax used.
#
email_template=/usr/local/lib/sems/plug-in/mail.template
# end of configuration section for voicemail module
config.voicemail=end
# sample announcement configuration (inline)
config.announcement=inline
# optional parameter: announce_path=<path>
#
# - sets the path where announce files are searched for
announce_path=/usr/local/lib/sems/audio/
# parameter: default_announce=<filename>
#
# - sets the name of the default announce WAV file
default_announce=default_en.wav
# end of configuration section for announcement module
config.announcement=end
# sample isdngw module configuration (external file)
# config.isdngw=/etc/isdngw.conf
# sample ivr module configuration (inline)
config.ivr=inline
#
#
# The IVR checks for a script with the named of the callee
# (<local part in r-uri>.py for python, <local part in r-uri>.pl for perl)
# in the directory <ivr_script_path><domain>, then for
# <ivr_script_path><domain><ivr_script_file>. If this is not found,
# <ivr_script_path>/<local part in r-uri>.py if searched,
# and if this is not found, <ivr_script_path>/<ivr_script_file> is used.
#
# So with a call to sayer at iptel.org and
#ivr_script_path=/etc/ivr and
#ivr_script_file=ivr.py
# these files are checked:
#/etc/ivr/iptel.org/sayer.py
#/etc/ivr/iptel.org/ivr.py
#/etc/ivr/sayer.py
#/etc/ivr/ivr.py
#
#parameter: ivr_script_path:
# path to ivr scripts.
#
ivr_script_path=/etc/ivr/
# default script file: this will be executed if <user>.py does not exist.
#
ivr_script_file=ivr.py
# parameter : tts_caching
# y or n
# text will be read from waves already synthesized and
# cached in cache_path
tts_caching=y
# parameter : tts_cache_path
# path to cache waves
# path must exist!
tts_cache_path=/tmp/wavs
# end of configuration section for ivr module
config.ivr=end
# sample conference configuration (inline)
config.conference=inline
# parameter: default_announce=<filename>
#
# - sets the full pathed name of the default announce WAV file.
# Will be played to lonely users.
default_announce=/usr/local/lib/sems/audio/first_participant.wav
# end of configuration section for conference module
config.conference=end
# example configuration for number reader
config.number_reader=inline
number_path=/usr/local/lib/sems/audio/
prolog_file=welcome_to_number_reader.wav
epilog_file=thanks_calling_number_reader.wav
# end of number_reader configuration
config.number_reader=end
# add more module configurations here (inline or external):
#
# config.mymodule=<filename>
# or
# config.mymodule=inline
# ...
# config.mymodule=end
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20040814/90163281/attachment.htm>
More information about the sr-users
mailing list