<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. 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.</DIV>
<DIV> 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</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 # debug level (cmd line: -dddddddddd)<BR>#fork=yes<BR>#log_stderror=no # (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> <BR>*/</DIV>
<DIV>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"</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", 0)<BR># Uncomment this if you want to use SQL database<BR> <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> <BR># add value to ;lr param to make some broken UAs happy<BR> <BR>modparam("rr", "enable_full_lr", 1)</DIV>
<DIV># time to give up on ringing -- global timer, applies to <BR># 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># ------------------------- request routing logic -------------------</DIV>
<DIV># main routing logic</DIV>
<DIV>route{</DIV>
<DIV><BR> # 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>#---- I am commenting these next 4 lines because my ser server is giving some parsing error at the time of startup<BR># if (len_gt( max_len )) {<BR># sl_send_reply("513", "Message too big");<BR># break;<BR># };<BR>#---------<BR> if (msg:len > max_len) {<BR> sl_send_reply("513", "Message too big");<BR> break;<BR> };</DIV>
<DIV> if (!uri==myself) {<BR> sl_send_reply("404", "not reponsible for host in r-uri");<BR> break;<BR> };<BR> <BR> if (uri==myself) {<BR> if (method=="REGISTER") {<BR> save("location");<BR> break;<BR> };<BR> <BR> if(!lookup("location")) {<BR> sl_send_reply("404","Not Found");<BR> break;<BR> };<BR> };</DIV>
<DIV><BR> # Voicemail specific configuration - begin</DIV>
<DIV> if(method=="ACK" || method=="INVITE" || method=="BYE"){</DIV>
<DIV> if (!t_newtran()) {<BR> log("could not create new transaction\n");<BR> sl_send_reply("500","could not create new transaction");<BR> break;<BR> };</DIV>
<DIV> t_reply("100","Trying -- just wait a minute !");<BR> if(method=="INVITE"){<BR> log("**************** vm start - begin ******************\n");<BR> if (uri=~"sip:as_welcome@.*" || uri=~"sip:as_nomoney@.*") {<BR> if (!vm("/tmp/am_fifo", "announcement")) {<BR> log("couldn't contact announcement server\n");<BR> t_reply("500", "couldn not contact announcement server");<BR> };<BR> } else {<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> };<BR> log("**************** vm start - end ******************\n");<BR> } else if(method=="BYE"){<BR> log("**************** 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("**************** vm end - end ******************\n");<BR> };<BR> break;<BR> };<BR> if (method=="CANCEL") {<BR> sl_send_reply("200", "cancels are junked here");<BR> break;<BR> };<BR> sl_send_reply("501", "method not understood here");<BR>}<BR></DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>thanks</DIV>
<DIV>koyama</DIV>
<DIV><BR><B><I>sc.upenn.edu></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 & 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>> Dear Steve,<BR>> Thnk you very much for you mail and teaching to me some good facts <BR>> about SEMS and SER. As i am very new in this domain thats why I could <BR>> not undersatnd fully your mail text, even i could not understand your <BR>> first paln..any i think what i am wishing is matching with your second <BR>> plan. i am just telling to you what i want to do.<BR>> Suppose "koyama" is registered with SER after half an hour "koyama " <BR>> logout (I mean to say that unregister) from SER now if say "Steve"
is <BR>> registered with SER and wants to make a sip call to "koyama" because <BR>> she is unavailabe at this time and wants her message on her mail id on <BR>> zehi_koyama@yahoo.com <mailto:zehi_koyama@yahoo.com>. then how she has <BR>> to setup her SEMS server..what special setting is required in ser.cfg, <BR>> on what basis ser will communicate to SEM. what module of ser will <BR>> communicate to SEMS.<BR>> SEMS will run on the same machine or it will run on different machine. <BR>> Is their some scripts in SEMS like ser (Ser.cfg)....<BR>> I am attaching my ser.cfg scripts please send me your running ser.cfg <BR>> scripts and please teach me about my dougts...<BR>> thanks in advance...<BR>> <BR>> *****************************************************************************************************<BR>> SER.CFG<BR>> ******************************************************************************************************<BR>>
<BR>><BR>> # $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $<BR>> # simple quick-start config script<BR>> # ----------- global configuration parameters ------------------------<BR>><BR>> #debug=3 # debug level (cmd line: -dddddddddd)<BR>> #fork=yes<BR>> #log_stderror=no # (cmd line: -E)<BR>> /*<BR>> #Uncomment these lines to enter debugging mode<BR>> debug=7<BR>> fork=no<BR>> log_stderror=yes<BR>> <BR>> */<BR>> 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>> # ------------------ module loading ----------------------------------<BR>> # Uncomment this if you want to use SQL database<BR>> 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"<BR>> # 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 !<BR>> loadmodule "/usr/lib/ser/modules/auth.so"<BR>> loadmodule "/usr/lib/ser/modules/auth_db.so"<BR>> # ----------------- setting module-specific parameters ---------------<BR>> # -- usrloc params --<BR>> #modparam("usrloc", "db_mode", 0)<BR>> # Uncomment this if you want to use SQL database<BR>> <BR>> # for persistent storage and comment the previous line<BR>> modparam("usrloc", "db_mode", 2)<BR>> # -- auth params --<BR>> # Uncomment if you are using auth module<BR>> 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)<BR>> modparam("auth_db", "password_column", "password")<BR>> # -- rr params --<BR>> <BR>> # add value to ;lr param to make some broken UAs happy<BR>> <BR>> modparam("rr", "enable_full_lr", 1)<BR>> # time to give up on ringing -- global timer, applies to<BR>> # all transactions<BR>> modparam("tm", "fr_inv_timer", 90)<BR>><BR>> # ----------------- setting module-specific parameters ---------------<BR>> modparam("voicemail", "db_url","sql://ser:heslo@dbhost/ser")<BR>><BR>> # ------------------------- request routing logic -------------------<BR>> # main routing logic<BR>> route{<BR>><BR>> # 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>> };<BR>> if (!uri==myself) {<BR>> sl_send_reply("404", "not reponsible for host in r-uri");<BR>> break;<BR>> };<BR>><BR>> # Voicemail specific configuration - begin<BR>> if(method=="ACK" || method=="INVITE" || method=="BYE"){<BR>> if (!t_newtran()) {<BR>> log("could not create new transaction\n");<BR>> sl_send_reply("500","could not create new transaction");<BR>> break;<BR>> };<BR>> t_reply("100","Trying -- just wait a minute !");<BR>> if(method=="INVITE"){<BR>> log("**************** vm start - begin ******************\n");<BR>> if (uri=~"sip:as_welcome@.*" || uri=~"sip:as_nomoney@.*") {<BR>> if (!vm("/tmp/am_fifo", "announcement")) {<BR>> log("couldn't contact announcement server\n");<BR>> t_reply("500", "couldn not contact announcement server");<BR>> };<BR>> } else {<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>> };<BR>> log("**************** vm start - end ******************\n");<BR>> } else if(method=="BYE"){<BR>> log("**************** 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("**************** vm end - end ******************\n");<BR>> };<BR>> break;<BR>> };<BR>> if (method=="CANCEL") {<BR>> sl_send_reply("200", "cancels are junked here");<BR>> break;<BR>> };<BR>> sl_send_reply("501", "method not understood here");<BR>> }<BR>> <BR>> **********************************************************************************************************<BR>> <BR>> <BR>><BR>><BR>> */Steve Blair <BLAIRS@ISC.UPENN.EDU>/* wrote:<BR>><BR>><BR>> Koyama:<BR>><BR>> I
tried SEMS in two different modes. First a mode where the call ad to<BR>> enter a pin to access the voicemail system and second where unanswered<BR>> calls "roll over" to SEMS. In the first case just put the check<BR>> for the pin<BR>> in your ser config as you would with any other number within the<BR>> dialplan.<BR>> Digits matching the pin get sent to the SEMS interface as outlined<BR>> in the<BR>> documentation.<BR>><BR>> In the second case I run a second instance of the SER proxy to provide<BR>> the interface between the failure_route function of the transaction<BR>> module and<BR>> the SEMS fifo interface. The second instance of SER only need<BR>> those config<BR>> statements to identify the port, lisen address, fifo name/privs<BR>> and any call<BR>> processing logic.<BR>><BR>> Then I copied the serctl script to serctl, serctl_vm and semsctl so I<BR>> can start<BR>> each process. The fifo name for the second SER
process must be<BR>> different<BR>> than the first.<BR>><BR>> good luck,<BR>> Steve<BR>><BR>> Koyama Zehi wrote:<BR>><BR>> > Dear all,<BR>> > I am a newbie in SIP please excuse me, for my poor questions.<BR>> > As I am working to add Voicemail service on my SER proxy. I am very<BR>> > much confuse about how to use SEMS module with SER.<BR>> ><BR>> > As according to "SIP Express Router v0.11 --Admin Guide" SEMS is<BR>> > required to provide voicemail capability in SIP server. As i have<BR>> > downloaded<BR>> > "sems-0.1.0.tar.gz" and installed in my machine where I have<BR>> > "ser-0.8.12" as a sip server. after that<BR>> > And I have changed my ser.cfg scripts to provide voicemail<BR>> capabilities<BR>> > and to load vm module available in SER.<BR>> ><BR>> > Now I get stuck How I have to use SEMS module ( I mean to say that<BR>> > "ans_machine" available in sems
)<BR>> ><BR>> > what is the difference & similarity between SEMS Voicemail and<BR>> SER vm<BR>> > module.<BR>> ><BR>> > On what basis SEMS Voicemail and SER communicate to each other.<BR>> ><BR>> > Is their any configuration file is required inside the SEMS like SER<BR>> > (ex. ser.cfg).<BR>> ><BR>> > what is the prop er step to perform a testing of voice mail<BR>> using these<BR>> > modules..<BR>> ><BR>> > Please excuse me if i have asked something wrong and please teach me<BR>> > about my queries.<BR>> > Thanks in advance.<BR>> > koyama<BR>> ><BR>> ><BR>> ><BR>> ------------------------------------------------------------------------<BR>> > Do you Yahoo!?<BR>> > New and Improved Yahoo! Mail<BR>> ><BR>> > - 100MB free storage!<BR>> ><BR>> >------------------------------------------------------------------------<BR>>
><BR>> >_______________________________________________<BR>> >Serusers mailing list<BR>> >serusers@lists.iptel.org<BR>> >http://lists.iptel.org/mailman/listinfo/serusers<BR>> ><BR>> ><BR>><BR>> ------------------------------------------------------------------------<BR>> Do you Yahoo!?<BR>> New and Improved Yahoo! Mail <BR>> <HTTP: efficiency.html static new_mail promotions.yahoo.com *http: 100 taglines mail_us us.rd.yahoo.com><BR>> - 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!