Hi Steve,
thank you very much to teach me about the relation between SEMS and SER.
I am using this version "ser_rel_0_8_12" . I have downloaded it from CVS. Now I
am very sorry to trouble you again. I would like to ask a question about mail client, I
maen to say that, i wanna to know that is inside the sems mail client is available as
defaultly if yes then i have to do some setting or configuration in some specific modules
of SER or SEMS. otherwise shall I have to download some other mail client and do some
specific setting for it.
Now after starting the ser and sems on the same machine, I tryed to communicate with
other softphone (i.e. also registeres with the same Ser proxy) but I am getting these
messages from fSer proxy
1) Status: 100 Trying -- just wait a minute.
2)Status 404 voicemail: no email address for user.
3)Request: ACK
I am inserting my ser.cfg file, please have a look and teach me if their is something
wrong...........
........................
# $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)
/*
#Uncomment these lines to enter debugging mode
debug=7
fork=no
log_stderror=yes
*/
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
#port=5060
#children=4
fifo="/tmp/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/rr.so"
loadmodule "/usr/lib/ser/modules/maxfwd.so"
loadmodule "/usr/lib/ser/modules/usrloc.so"
loadmodule "/usr/lib/ser/modules/registrar.so"
# HSL for VM
loadmodule "/usr/lib/ser/modules/textops.so"
loadmodule "/usr/lib/ser/modules/vm.so"
#loadmodule "/usr/lib/ser/modules/dbtext.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)
# time to give up on ringing -- global timer, applies to
# all transactions
modparam("tm", "fr_inv_timer", 90)
# ----------------- setting module-specific parameters ---------------
#modparam("voicemail",
"db_url","sql://ser:heslo@dbhost/ser")
modparam("voicemail",
"db_url","sql://ser:heslo@localhost/ser")
# ------------------------- request routing logic -------------------
# main routing logic
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;
};
#---- I am commenting these next 4 lines because my ser server is giving some parsing
error at the time of startup
# if (len_gt( max_len )) {
# sl_send_reply("513", "Message too big");
# break;
# };
#---------
if (msg:len > 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;
};
if (uri==myself) {
if (method=="REGISTER") {
save("location");
break;
};
if(!lookup("location")) {
sl_send_reply("404","Not Found");
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");
}
thanks
koyama
sc.upenn.edu> wrote:
Koyama:
First if SEMS messages for Koyama are to be delivered to
zehi_koyama(a)yahoo.com then this email address must be present in the
subscriber record on the SER proxy for Koyama. The subscriber
email_address field is where SEMS looks for the destination address
to which to send email.
Next, where to run SER & SEMS. I happen to run everything on the
same machine. SER listens on port 5060, SER_VM on 5090 and SEMS
interacts with SER_VM via the fifo defined in it's configuration file.
SER_VM is an intermediary between SER and SEMS. I did this
because I want SER to use a failure_route route block to forward
unanswered calls to a specific destination. However since this destination
must be specified as a and SEMS doesn't listen on a
port I need somewhere to send the call. SER_VM does this. It is a
second instance of SER with only enough logic to handle the "voicemail"
request.
In my case this logic allows users to send a message to the SEMS
voicemail application, contact the SEMS announcement application where they
get a general University status message or contact the SEMS echo
application to perform an echo test. Most calls so far are going right
to voicemail.
I hope this helps.
-Steve
Koyama Zehi wrote:
Dear Steve,
Thnk you very much for you mail and teaching to me some good facts
about SEMS and SER. As i am very new in this domain thats why I could
not undersatnd fully your mail text, even i could not understand your
first paln..any i think what i am wishing is matching with your second
plan. i am just telling to you what i want to do.
Suppose "koyama" is registered with SER after half an hour "koyama "
logout (I mean to say that unregister) from SER now if say "Steve" is
registered with SER and wants to make a sip call to "koyama" because
she is unavailabe at this time and wants her message on her mail id on
zehi_koyama(a)yahoo.com . then how she has
to setup her SEMS server..what special setting is required in ser.cfg,
on what basis ser will communicate to SEM. what module of ser will
communicate to SEMS.
SEMS will run on the same machine or it will run on different machine.
Is their some scripts in SEMS like ser (Ser.cfg)....
I am attaching my ser.cfg scripts please send me your running ser.cfg
scripts and please teach me about my dougts...
thanks in advance...
*****************************************************************************************************
SER.CFG
******************************************************************************************************
# $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)
/*
#Uncomment these lines to enter debugging mode
debug=7
fork=no
log_stderror=yes
*/
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
#port=5060
#children=4
fifo="/tmp/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/rr.so"
loadmodule "/usr/lib/ser/modules/maxfwd.so"
loadmodule "/usr/lib/ser/modules/usrloc.so"
loadmodule "/usr/lib/ser/modules/registrar.so"
# HSL for VM
loadmodule "/usr/lib/ser/modules/textops.so"
loadmodule "/usr/lib/ser/modules/vm.so"
#loadmodule "/usr/lib/ser/modules/dbtext.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)
# time to give up on ringing -- global timer, applies to
# all transactions
modparam("tm", "fr_inv_timer", 90)
# ----------------- setting module-specific parameters ---------------
modparam("voicemail",
"db_url","sql://ser:heslo@dbhost/ser")
# ------------------------- request routing logic -------------------
# main routing logic
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");
}
**********************************************************************************************************
*/Steve Blair /* wrote:
Koyama:
I tried SEMS in two different modes. First a mode where the call ad to
enter a pin to access the voicemail system and second where unanswered
calls "roll over" to SEMS. In the first case just put the check
for the pin
in your ser config as you would with any other number within the
dialplan.
Digits matching the pin get sent to the SEMS interface as outlined
in the
documentation.
In the second case I run a second instance of the SER proxy to provide
the interface between the failure_route function of the transaction
module and
the SEMS fifo interface. The second instance of SER only need
those config
statements to identify the port, lisen address, fifo name/privs
and any call
processing logic.
Then I copied the serctl script to serctl, serctl_vm and semsctl so I
can start
each process. The fifo name for the second SER process must be
different
than the first.
good luck,
Steve
Koyama Zehi wrote:
Dear all,
I am a newbie in SIP please excuse me, for my poor questions.
As I am working to add Voicemail service on my SER proxy. I am very
much confuse about how to use SEMS module with SER.
As according to "SIP Express Router v0.11 --Admin Guide" SEMS is
required to provide voicemail capability in SIP server. As i have
downloaded
"sems-0.1.0.tar.gz" and installed in my machine where I have
"ser-0.8.12" as a sip server. after that
And I have changed my ser.cfg scripts to provide voicemail
capabilities
and to load vm module available in SER.
Now I get stuck How I have to use SEMS module ( I mean to say that
"ans_machine" available in sems )
what is the difference & similarity between SEMS Voicemail and
SER vm
module.
On what basis SEMS Voicemail and SER communicate to each other.
Is their any configuration file is required inside the SEMS like SER
(ex. ser.cfg).
what is the prop er step to perform a testing of voice mail
using these
modules..
Please excuse me if i have asked something wrong and please teach me
about my queries.
Thanks in advance.
koyama
------------------------------------------------------------------------
Do you Yahoo!?
New and Improved Yahoo! Mail
- 100MB free storage!
------------------------------------------------------------------------
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
------------------------------------------------------------------------
Do you Yahoo!?
New and Improved Yahoo! Mail
- 100MB free storage!
---------------------------------
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!