<DIV>Hi Steve,</DIV>
<DIV>thank you very much to teach me about the relation between SEMS and SER.</DIV>
<DIV>I am using this version "ser_rel_0_8_12" . I have downloaded it from CVS.&nbsp; Now I am very sorry to trouble you again.&nbsp; 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&nbsp;or&nbsp;configuration in some specific modules of &nbsp;SER&nbsp;or SEMS. otherwise&nbsp;shall I have to download some other mail client and do some specific setting for it.</DIV>
<DIV>&nbsp;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&nbsp;these messages from&nbsp;fSer proxy</DIV>
<DIV>1) Status: 100 Trying -- just wait a minute.</DIV>
<DIV>2)Status 404 voicemail: no email address for user.</DIV>
<DIV>3)Request: ACK</DIV>
<DIV><BR>I am inserting my ser.cfg file, please have a look and teach me if their is something wrong...........</DIV>
<DIV>........................</DIV>
<DIV># $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $<BR># simple quick-start config script</DIV>
<DIV># ----------- global configuration parameters ------------------------</DIV>
<DIV><BR>#debug=3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # debug level (cmd line: -dddddddddd)<BR>#fork=yes<BR>#log_stderror=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd line: -E)</DIV>
<DIV>/*<BR>#Uncomment these lines to enter debugging mode</DIV>
<DIV>debug=7<BR>fork=no<BR>log_stderror=yes<BR>&nbsp;<BR>*/</DIV>
<DIV>check_via=no&nbsp;&nbsp;&nbsp; # (cmd. line: -v)<BR>dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd. line: -r)<BR>rev_dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd. line: -R)<BR>#port=5060<BR>#children=4<BR>fifo="/tmp/ser_fifo"</DIV>
<DIV># ------------------ module loading ----------------------------------</DIV>
<DIV># Uncomment this if you want to use SQL database</DIV>
<DIV>loadmodule "/usr/lib/ser/modules/mysql.so"<BR>loadmodule "/usr/lib/ser/modules/sl.so"<BR>loadmodule "/usr/lib/ser/modules/tm.so"<BR>loadmodule "/usr/lib/ser/modules/rr.so"<BR>loadmodule "/usr/lib/ser/modules/maxfwd.so"<BR>loadmodule "/usr/lib/ser/modules/usrloc.so"<BR>loadmodule "/usr/lib/ser/modules/registrar.so"</DIV>
<DIV># HSL for VM<BR>loadmodule "/usr/lib/ser/modules/textops.so"<BR>loadmodule "/usr/lib/ser/modules/vm.so"<BR>#loadmodule "/usr/lib/ser/modules/dbtext.so"<BR># Uncomment this if you want digest authentication<BR># mysql.so must be loaded !</DIV>
<DIV>loadmodule "/usr/lib/ser/modules/auth.so"<BR>loadmodule "/usr/lib/ser/modules/auth_db.so"</DIV>
<DIV># ----------------- setting module-specific parameters ---------------<BR># -- usrloc params --</DIV>
<DIV>#modparam("usrloc", "db_mode",&nbsp;&nbsp; 0)<BR># Uncomment this if you want to use SQL database<BR>&nbsp;<BR># for persistent storage and comment the previous line</DIV>
<DIV>modparam("usrloc", "db_mode", 2)</DIV>
<DIV># -- auth params --</DIV>
<DIV># Uncomment if you are using auth module</DIV>
<DIV>modparam("auth_db", "calculate_ha1", yes)<BR># If you set "calculate_ha1" parameter to yes (which true in this config),<BR># uncomment also the following parameter)</DIV>
<DIV>modparam("auth_db", "password_column", "password")</DIV>
<DIV># -- rr params --<BR>&nbsp;<BR># add value to ;lr param to make some broken UAs happy<BR>&nbsp;<BR>modparam("rr", "enable_full_lr", 1)</DIV>
<DIV># time to give up on ringing -- global timer, applies to <BR>#&nbsp;&nbsp;&nbsp; all transactions<BR>modparam("tm", "fr_inv_timer", 90)</DIV>
<DIV><BR># ----------------- setting module-specific parameters ---------------</DIV>
<DIV>#modparam("voicemail", "db_url","sql://ser:heslo@dbhost/ser")<BR>modparam("voicemail", "db_url","sql://ser:heslo@localhost/ser")</DIV>
<DIV><BR># -------------------------&nbsp; request routing logic -------------------</DIV>
<DIV># main routing logic</DIV>
<DIV>route{</DIV>
<DIV><BR>&nbsp;# initial sanity checks -- messages with<BR>&nbsp;# max_forwars==0, or excessively long requests<BR>&nbsp;if (!mf_process_maxfwd_header("10")) {<BR>&nbsp;&nbsp;sl_send_reply("483","Too Many Hops");<BR>&nbsp;&nbsp;break;<BR>&nbsp;};<BR>#---- I am commenting these next 4 lines because my ser server is giving some parsing error at the time of startup<BR>#&nbsp;if (len_gt( max_len )) {<BR>#&nbsp;&nbsp;sl_send_reply("513", "Message too big");<BR>#&nbsp;&nbsp;break;<BR>#&nbsp;};<BR>#---------<BR>&nbsp;if (msg:len &gt; max_len) {<BR>&nbsp;&nbsp;sl_send_reply("513", "Message too big");<BR>&nbsp;&nbsp;break;<BR>&nbsp;};</DIV>
<DIV>&nbsp;if (!uri==myself) {<BR>&nbsp;&nbsp;sl_send_reply("404", "not reponsible for host in r-uri");<BR>&nbsp;&nbsp;break;<BR>&nbsp;};<BR>&nbsp;<BR>&nbsp;if (uri==myself) {<BR>&nbsp;&nbsp;if (method=="REGISTER") {<BR>&nbsp;&nbsp;&nbsp;save("location");<BR>&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;&nbsp;};<BR>&nbsp;&nbsp;<BR>&nbsp;&nbsp;if(!lookup("location")) {<BR>&nbsp;&nbsp;&nbsp;sl_send_reply("404","Not Found");<BR>&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;&nbsp;};<BR>&nbsp;};</DIV>
<DIV><BR>&nbsp;# Voicemail specific configuration - begin</DIV>
<DIV>&nbsp;if(method=="ACK" || method=="INVITE" || method=="BYE"){</DIV>
<DIV>&nbsp;&nbsp;if (!t_newtran()) {<BR>&nbsp;&nbsp;&nbsp;log("could not create new transaction\n");<BR>&nbsp;&nbsp;&nbsp;sl_send_reply("500","could not create new transaction");<BR>&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;&nbsp;};</DIV>
<DIV>&nbsp;&nbsp;t_reply("100","Trying -- just wait a minute !");<BR>&nbsp;&nbsp;if(method=="INVITE"){<BR>&nbsp;&nbsp;&nbsp;log("**************** vm start - begin ******************\n");<BR>&nbsp;&nbsp;&nbsp;if (uri=~"sip:as_welcome@.*" || uri=~"sip:as_nomoney@.*") {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;if (!vm("/tmp/am_fifo", "announcement")) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;log("couldn't contact announcement server\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t_reply("500", "couldn not contact announcement server");<BR>&nbsp;&nbsp;&nbsp;&nbsp;};<BR>&nbsp;&nbsp;&nbsp;} else {<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(!vm("/tmp/am_fifo","voicemail")){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log("could not contact the answer machine\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t_reply("500","could not contact the answer
 machine");<BR>&nbsp;&nbsp;&nbsp;&nbsp;};<BR>&nbsp;&nbsp;&nbsp;};<BR>&nbsp;&nbsp;&nbsp;log("**************** vm start - end ******************\n");<BR>&nbsp;&nbsp;} else if(method=="BYE"){<BR>&nbsp;&nbsp;&nbsp;log("**************** vm end - begin ******************\n");<BR>&nbsp;&nbsp;&nbsp;if(!vm("/tmp/am_fifo","bye")){<BR>&nbsp;&nbsp;&nbsp;&nbsp;log("could not contact the answer machine\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;t_reply("500","could not contact the answer machine");<BR>&nbsp;&nbsp;&nbsp;};<BR>&nbsp;&nbsp;&nbsp;log("**************** vm end - end ******************\n");<BR>&nbsp;&nbsp;};<BR>&nbsp;&nbsp;break;<BR>&nbsp;};<BR>&nbsp;if (method=="CANCEL") {<BR>&nbsp;&nbsp;sl_send_reply("200", "cancels are junked here");<BR>&nbsp;&nbsp;break;<BR>&nbsp;};<BR>&nbsp;sl_send_reply("501", "method not understood here");<BR>}<BR></DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>thanks</DIV>
<DIV>koyama</DIV>
<DIV><BR><B><I>sc.upenn.edu&gt;</I></B> wrote:</DIV>
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid"><BR>Koyama:<BR><BR>First if SEMS messages for Koyama are to be delivered to<BR>zehi_koyama@yahoo.com then this email address must be present in the<BR>subscriber record on the SER proxy for Koyama. The subscriber<BR>email_address field is where SEMS looks for the destination address<BR>to which to send email.<BR><BR>Next, where to run SER &amp; SEMS. I happen to run everything on the<BR>same machine. SER listens on port 5060, SER_VM on 5090 and SEMS<BR>interacts with SER_VM via the fifo defined in it's configuration file.<BR><BR>SER_VM is an intermediary between SER and SEMS. I did this<BR>because I want SER to use a failure_route route block to forward<BR>unanswered calls to a specific destination. However since this destination<BR>must be specified as a <hostname:port>and SEMS doesn't listen on a<BR>port I need somewhere to send the call. SER_VM does this. It is a<BR>second instance
 of SER with only enough logic to handle the "voicemail"<BR>request.<BR><BR>In my case this logic allows users to send a message to the SEMS<BR>voicemail application, contact the SEMS announcement application where they<BR>get a general University status message or contact the SEMS echo<BR>application to perform an echo test. Most calls so far are going right<BR>to voicemail.<BR><BR>I hope this helps.<BR><BR>-Steve<BR><BR><BR>Koyama Zehi wrote:<BR><BR>&gt; Dear Steve,<BR>&gt; Thnk you very much for you mail and teaching to me some good facts <BR>&gt; about SEMS and SER. As i am very new in this domain thats why I could <BR>&gt; not undersatnd fully your mail text, even i could not understand your <BR>&gt; first paln..any i think what i am wishing is matching with your second <BR>&gt; plan. i am just telling to you what i want to do.<BR>&gt; Suppose "koyama" is registered with SER after half an hour "koyama " <BR>&gt; logout (I mean to say that unregister) from SER now if say "Steve"
 is <BR>&gt; registered with SER and wants to make a sip call to "koyama" because <BR>&gt; she is unavailabe at this time and wants her message on her mail id on <BR>&gt; zehi_koyama@yahoo.com <mailto:zehi_koyama@yahoo.com>. then how she has <BR>&gt; to setup her SEMS server..what special setting is required in ser.cfg, <BR>&gt; on what basis ser will communicate to SEM. what module of ser will <BR>&gt; communicate to SEMS.<BR>&gt; SEMS will run on the same machine or it will run on different machine. <BR>&gt; Is their some scripts in SEMS like ser (Ser.cfg)....<BR>&gt; I am attaching my ser.cfg scripts please send me your running ser.cfg <BR>&gt; scripts and please teach me about my dougts...<BR>&gt; thanks in advance...<BR>&gt; <BR>&gt; *****************************************************************************************************<BR>&gt; SER.CFG<BR>&gt; ******************************************************************************************************<BR>&gt;
 <BR>&gt;<BR>&gt; # $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $<BR>&gt; # simple quick-start config script<BR>&gt; # ----------- global configuration parameters ------------------------<BR>&gt;<BR>&gt; #debug=3 # debug level (cmd line: -dddddddddd)<BR>&gt; #fork=yes<BR>&gt; #log_stderror=no # (cmd line: -E)<BR>&gt; /*<BR>&gt; #Uncomment these lines to enter debugging mode<BR>&gt; debug=7<BR>&gt; fork=no<BR>&gt; log_stderror=yes<BR>&gt; <BR>&gt; */<BR>&gt; check_via=no # (cmd. line: -v)<BR>&gt; dns=no # (cmd. line: -r)<BR>&gt; rev_dns=no # (cmd. line: -R)<BR>&gt; #port=5060<BR>&gt; #children=4<BR>&gt; fifo="/tmp/ser_fifo"<BR>&gt; # ------------------ module loading ----------------------------------<BR>&gt; # Uncomment this if you want to use SQL database<BR>&gt; loadmodule "/usr/lib/ser/modules/mysql.so"<BR>&gt; loadmodule "/usr/lib/ser/modules/sl.so"<BR>&gt; loadmodule "/usr/lib/ser/modules/tm.so"<BR>&gt; loadmodule "/usr/lib/ser/modules/rr.so"<BR>&gt; loadmodule
 "/usr/lib/ser/modules/maxfwd.so"<BR>&gt; loadmodule "/usr/lib/ser/modules/usrloc.so"<BR>&gt; loadmodule "/usr/lib/ser/modules/registrar.so"<BR>&gt; # HSL for VM<BR>&gt; loadmodule "/usr/lib/ser/modules/textops.so"<BR>&gt; loadmodule "/usr/lib/ser/modules/vm.so"<BR>&gt; #loadmodule "/usr/lib/ser/modules/dbtext.so"<BR>&gt; # Uncomment this if you want digest authentication<BR>&gt; # mysql.so must be loaded !<BR>&gt; loadmodule "/usr/lib/ser/modules/auth.so"<BR>&gt; loadmodule "/usr/lib/ser/modules/auth_db.so"<BR>&gt; # ----------------- setting module-specific parameters ---------------<BR>&gt; # -- usrloc params --<BR>&gt; #modparam("usrloc", "db_mode", 0)<BR>&gt; # Uncomment this if you want to use SQL database<BR>&gt; <BR>&gt; # for persistent storage and comment the previous line<BR>&gt; modparam("usrloc", "db_mode", 2)<BR>&gt; # -- auth params --<BR>&gt; # Uncomment if you are using auth module<BR>&gt; modparam("auth_db", "calculate_ha1", yes)<BR>&gt; # If you set "calculate_ha1"
 parameter to yes (which true in this config),<BR>&gt; # uncomment also the following parameter)<BR>&gt; modparam("auth_db", "password_column", "password")<BR>&gt; # -- rr params --<BR>&gt; <BR>&gt; # add value to ;lr param to make some broken UAs happy<BR>&gt; <BR>&gt; modparam("rr", "enable_full_lr", 1)<BR>&gt; # time to give up on ringing -- global timer, applies to<BR>&gt; # all transactions<BR>&gt; modparam("tm", "fr_inv_timer", 90)<BR>&gt;<BR>&gt; # ----------------- setting module-specific parameters ---------------<BR>&gt; modparam("voicemail", "db_url","sql://ser:heslo@dbhost/ser")<BR>&gt;<BR>&gt; # ------------------------- request routing logic -------------------<BR>&gt; # main routing logic<BR>&gt; route{<BR>&gt;<BR>&gt; # initial sanity checks -- messages with<BR>&gt; # max_forwars==0, or excessively long requests<BR>&gt; if (!mf_process_maxfwd_header("10")) {<BR>&gt; sl_send_reply("483","Too Many Hops");<BR>&gt; break;<BR>&gt; };<BR>&gt; if (len_gt( max_len ))
 {<BR>&gt; sl_send_reply("513", "Message too big");<BR>&gt; break;<BR>&gt; };<BR>&gt; if (!uri==myself) {<BR>&gt; sl_send_reply("404", "not reponsible for host in r-uri");<BR>&gt; break;<BR>&gt; };<BR>&gt;<BR>&gt; # Voicemail specific configuration - begin<BR>&gt; if(method=="ACK" || method=="INVITE" || method=="BYE"){<BR>&gt; if (!t_newtran()) {<BR>&gt; log("could not create new transaction\n");<BR>&gt; sl_send_reply("500","could not create new transaction");<BR>&gt; break;<BR>&gt; };<BR>&gt; t_reply("100","Trying -- just wait a minute !");<BR>&gt; if(method=="INVITE"){<BR>&gt; log("**************** vm start - begin ******************\n");<BR>&gt; if (uri=~"sip:as_welcome@.*" || uri=~"sip:as_nomoney@.*") {<BR>&gt; if (!vm("/tmp/am_fifo", "announcement")) {<BR>&gt; log("couldn't contact announcement server\n");<BR>&gt; t_reply("500", "couldn not contact announcement server");<BR>&gt; };<BR>&gt; } else {<BR>&gt; if(!vm("/tmp/am_fifo","voicemail")){<BR>&gt; log("could not contact the
 answer machine\n");<BR>&gt; t_reply("500","could not contact the answer machine");<BR>&gt; };<BR>&gt; };<BR>&gt; log("**************** vm start - end ******************\n");<BR>&gt; } else if(method=="BYE"){<BR>&gt; log("**************** vm end - begin ******************\n");<BR>&gt; if(!vm("/tmp/am_fifo","bye")){<BR>&gt; log("could not contact the answer machine\n");<BR>&gt; t_reply("500","could not contact the answer machine");<BR>&gt; };<BR>&gt; log("**************** vm end - end ******************\n");<BR>&gt; };<BR>&gt; break;<BR>&gt; };<BR>&gt; if (method=="CANCEL") {<BR>&gt; sl_send_reply("200", "cancels are junked here");<BR>&gt; break;<BR>&gt; };<BR>&gt; sl_send_reply("501", "method not understood here");<BR>&gt; }<BR>&gt; <BR>&gt; **********************************************************************************************************<BR>&gt; <BR>&gt; <BR>&gt;<BR>&gt;<BR>&gt; */Steve Blair <BLAIRS@ISC.UPENN.EDU>/* wrote:<BR>&gt;<BR>&gt;<BR>&gt; Koyama:<BR>&gt;<BR>&gt; I
 tried SEMS in two different modes. First a mode where the call ad to<BR>&gt; enter a pin to access the voicemail system and second where unanswered<BR>&gt; calls "roll over" to SEMS. In the first case just put the check<BR>&gt; for the pin<BR>&gt; in your ser config as you would with any other number within the<BR>&gt; dialplan.<BR>&gt; Digits matching the pin get sent to the SEMS interface as outlined<BR>&gt; in the<BR>&gt; documentation.<BR>&gt;<BR>&gt; In the second case I run a second instance of the SER proxy to provide<BR>&gt; the interface between the failure_route function of the transaction<BR>&gt; module and<BR>&gt; the SEMS fifo interface. The second instance of SER only need<BR>&gt; those config<BR>&gt; statements to identify the port, lisen address, fifo name/privs<BR>&gt; and any call<BR>&gt; processing logic.<BR>&gt;<BR>&gt; Then I copied the serctl script to serctl, serctl_vm and semsctl so I<BR>&gt; can start<BR>&gt; each process. The fifo name for the second SER
 process must be<BR>&gt; different<BR>&gt; than the first.<BR>&gt;<BR>&gt; good luck,<BR>&gt; Steve<BR>&gt;<BR>&gt; Koyama Zehi wrote:<BR>&gt;<BR>&gt; &gt; Dear all,<BR>&gt; &gt; I am a newbie in SIP please excuse me, for my poor questions.<BR>&gt; &gt; As I am working to add Voicemail service on my SER proxy. I am very<BR>&gt; &gt; much confuse about how to use SEMS module with SER.<BR>&gt; &gt;<BR>&gt; &gt; As according to "SIP Express Router v0.11 --Admin Guide" SEMS is<BR>&gt; &gt; required to provide voicemail capability in SIP server. As i have<BR>&gt; &gt; downloaded<BR>&gt; &gt; "sems-0.1.0.tar.gz" and installed in my machine where I have<BR>&gt; &gt; "ser-0.8.12" as a sip server. after that<BR>&gt; &gt; And I have changed my ser.cfg scripts to provide voicemail<BR>&gt; capabilities<BR>&gt; &gt; and to load vm module available in SER.<BR>&gt; &gt;<BR>&gt; &gt; Now I get stuck How I have to use SEMS module ( I mean to say that<BR>&gt; &gt; "ans_machine" available in sems
 )<BR>&gt; &gt;<BR>&gt; &gt; what is the difference &amp; similarity between SEMS Voicemail and<BR>&gt; SER vm<BR>&gt; &gt; module.<BR>&gt; &gt;<BR>&gt; &gt; On what basis SEMS Voicemail and SER communicate to each other.<BR>&gt; &gt;<BR>&gt; &gt; Is their any configuration file is required inside the SEMS like SER<BR>&gt; &gt; (ex. ser.cfg).<BR>&gt; &gt;<BR>&gt; &gt; what is the prop er step to perform a testing of voice mail<BR>&gt; using these<BR>&gt; &gt; modules..<BR>&gt; &gt;<BR>&gt; &gt; Please excuse me if i have asked something wrong and please teach me<BR>&gt; &gt; about my queries.<BR>&gt; &gt; Thanks in advance.<BR>&gt; &gt; koyama<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; ------------------------------------------------------------------------<BR>&gt; &gt; Do you Yahoo!?<BR>&gt; &gt; New and Improved Yahoo! Mail<BR>&gt; &gt;<BR>&gt; &gt; - 100MB free storage!<BR>&gt; &gt;<BR>&gt; &gt;------------------------------------------------------------------------<BR>&gt;
 &gt;<BR>&gt; &gt;_______________________________________________<BR>&gt; &gt;Serusers mailing list<BR>&gt; &gt;serusers@lists.iptel.org<BR>&gt; &gt;http://lists.iptel.org/mailman/listinfo/serusers<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt;<BR>&gt; ------------------------------------------------------------------------<BR>&gt; Do you Yahoo!?<BR>&gt; New and Improved Yahoo! Mail <BR>&gt; <HTTP: efficiency.html static new_mail promotions.yahoo.com *http: 100 taglines mail_us us.rd.yahoo.com><BR>&gt; - 100MB free storage! <BR><BR></BLOCKQUOTE></mailto:zehi_koyama@yahoo.com></hostname:port><p>
                <hr size=1>Do you Yahoo!?<br>
<a href="http://us.rd.yahoo.com/mail_us/taglines/10/*http://promotions.yahoo.com/new_mail/static/efficiency.html">New and Improved Yahoo! Mail</a> - Send 10MB messages!