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@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@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@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!