[Serusers] voicemail config

Daniel-Constantin Mierla Daniel-Constantin.Mierla at fokus.fraunhofer.de
Tue Jan 13 19:05:05 CET 2004


Hello,
you must set a different port for each instance (within config files or 
using command line options) and, also, strong recommended, different 
fifo files.

You have to duplicate serctl and change one to use the other fifo file. 
I am not aware of serctl supporting many fifo files in the same time, 
but I might be wrong.

Also, you can start ser from console providing as parameter which config 
file to use with 'ser -f /path/to/config/file'. 'ser -h' lists all 
command line parameters.

Daniel

On 1/13/2004 6:48 PM, Srbislav Cvetkovic wrote:

> HI guys,
>
> I have a qustion. How do you start two instances of ser on one host? 
> serctl help does not have that option listed.
>
> thanks,
> On Tuesday, January 13, 2004, at 04:53  AM, Jan Janak wrote:
>
>> Regarding your config, if you want the call to be redirected to
>> voicemail when the callee is not registered (instead of getting 404),
>> you should redirect the call to voicemail in the if
>> (!lookup("location")) condition. The condition will be true if the
>> callee is not registered.
>>
>> Yes, it is strange that you don't have system logs in /var/log.
>>
>>   Jan.
>>
>> On 12-01 14:57, Srbislav Cvetkovic wrote:
>>
>>> Hi to all,
>>>
>>> I am new to ser and sems. I was able to setup ser on openbsd and make a
>>> call from one user agent to another. Then I installed sems and after
>>> some playing around i was able to make it work with ser. However now
>>> the call is being directed to my voicemail system and the phone does
>>> not ring at all. Is there a setting that will allow me to set up the
>>> number of rings before it gets redirected to my voicemail?
>>> Below are my ser.cfg and sems.conf files.
>>>
>>> I have mysql version of ser working.
>>> Also there is one problem. I have no log files for some reason. From
>>> the documentation that I 've read it says that it should be in system
>>> log file. I have no system log file in /var/log . Isn't that strange? I
>>> successfuly receive all of my voice messages though.
>>>
>>> //////////////////////
>>> ser.cfg
>>>
>>> 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;
>>>         };
>>>
>>>         # 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
>>>         loose_route();
>>>
>>>         # Make MSN Messenger happy...
>>>         if (method=="REGISTER") {
>>>                 sl_send_reply("200","ok");
>>>                 break;
>>>         };
>>>
>>>         if (uri == myself) {
>>>
>>>                if (method=="REGISTER") {
>>>
>>>                 # Uncomment this if you want to use digest
>>> authentication
>>>                         if (!www_authorize("myhost.com", "subscriber"))
>>> {
>>>                                 www_challenge("myhost.com", "0");
>>>                                 break;
>>>                         };
>>>
>>>                         save("location");
>>>                         break;
>>>                 };
>>>
>>>                 /*
>>>           # if i comment this out then the call is being redirected to
>>>           my voicemail
>>>           # if it's not commented out, then I get 404 User Not Found
>>>           error while dialing
>>>                 # native SIP destinations are handled using our USRLOC
>>> DB
>>>                 if (!lookup("location")) {
>>>                         sl_send_reply("404", "Not Found");
>>>                         break;
>>>                 };
>>>                 */
>>>
>>>                 # Voicemail specific configuration - begin
>>>
>>>                 if(method=="ACK" || method=="INVITE" || method=="BYE"){
>>>
>>>                         if(t_newtran()){
>>>
>>>                                 t_reply("100","Trying -- just wait a
>>> minute !");
>>>
>>>                                 if(method=="INVITE"){
>>>                                         log("**************** vm start
>>> - begin *
>>> *****************\n");
>>>
>>> if(!vm("/tmp/am_fifo","voicemail")){
>>>                                                 log("could not contact
>>> the answe
>>> r machine\n");
>>>                                                 t_reply("500","could
>>> not contact
>>>  the answer machine");
>>>                                         };
>>>                                         log("**************** vm start
>>> - end ***
>>> ***************\n");
>>>                                         break;
>>>                                 };
>>>
>>>                                 if(method=="BYE"){
>>>                                         log("**************** vm end -
>>> begin ***
>>> ***************\n");
>>>                                         if(!vm("/tmp/am_fifo","bye")){
>>>                                                 log("could not contact
>>> the answe
>>> r machine\n");
>>>                                                 t_reply("500","could
>>> not contact
>>>  the answer machine");
>>>                                         };
>>>                                         log("**************** vm end -
>>> end *****
>>> *************\n");
>>>                                         break;
>>>                                 };
>>>                         }
>>>                         else {
>>>                              log("could not create new transaction\n");
>>>                              sl_send_reply("500","could not create new
>>> transacti
>>> on");
>>>                         };
>>>                 };
>>>
>>>                 # Voicemail specific configuration - end
>>>         };
>>>
>>>         # 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();
>>>         };
>>> }
>>>
>>> ////////////////////////
>>> sems.conf
>>>
>>> #
>>> # 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=yes
>>>
>>> # optional parameter: stderr={yes|no}
>>> #
>>> # - debug mode: do not fork and log to stderr
>>> stderr=no
>>>
>>> # optional parameter: loglevel={0|1|2|3}
>>> #
>>> # - sets log level (error=0, warning=1, info=2, debug=3)
>>> loglevel=1
>>>
>>> # optional parameter: fifo_name=<filename>
>>> #
>>> # - path and file name of our fifo file
>>> fifo_name=/tmp/am_fifo
>>>
>>> # optional parameter: ser_fifo_name=<filename>
>>> #
>>> # - path and file name of Ser's fifo file
>>> 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/
>>>
>>>
>>> ##################################
>>> # voicemail specific parameters  #
>>> ##################################
>>>
>>> # optional parameter: announce_path=<path>
>>> #
>>> # - sets the path where announce files are searched for
>>> announce_path=/usr/local/lib/sems/audio/
>>>
>>> # optional parameter: default_announce=<filename>
>>> #
>>> # - sets the name of the default announce WAV file
>>> default_announce=default_en.wav
>>>
>>> # optional parameter: max_record=<seconds>
>>> #
>>> # - maximum record time
>>> max_record=30
>>>
>>> # 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
>>>
>>>
>>> Thanks,
>>>
>>>  Srbo Cvetkovic                  | CityNet, Inc.       
>>>  srbo at city-net.com            | Pittsburgh, PA   
>>>  voice: 412.481.5406         | fax: 412.431.1315
>>>
>>> _______________________________________________
>>> Serusers mailing list
>>> serusers at lists.iptel.org
>>> http://lists.iptel.org/mailman/listinfo/serusers
>>>
>
>  Srbo Cvetkovic                  | CityNet, Inc.       
>  srbo at city-net.com            | Pittsburgh, PA   
>  voice: 412.481.5406         | fax: 412.431.1315
>
>
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>





More information about the sr-users mailing list