[Users] voicemail howto
Taymour A. El Erian
taymour.elerian at tedata.net
Sun Sep 11 13:39:31 CEST 2005
Bogdan-Andrei Iancu wrote:
> Hi Taymour,
>
> here is the adapter SEMS cfg (please change back the modules path and
> debug.log params)
>
> the proxy cfg (openser.cfg) is ok for openser 0.9.5 (for safety, just
> replace all your break with exit).
>
> regards,
> bogdan
>
> Taymour A. El Erian wrote:
>
>> Attached the configuration I used, one (openser.cfg) used for the main
>> SIP server and the second was used as a second instance which serve for
>> voicemail.
>>
>>
>>
>>
>------------------------------------------------------------------------
>
>#
># $Id: voicemail.cfg,v 1.5 2004/01/14 18:23:50 rco Exp $
>#
># this script is configured for use as voicemail UAS; it processes
># INVITEs and BYEs and asks SEMS to record media via "t_write_req"; in this
># script, all record-routing and other constructs known from proxy
># scripts are not present -- it is a simple UAS
>#
>
># ----------- global configuration parameters ------------------------
>
>debug=9 # debug level (cmd line: -dddddddddd)
>fork=no
>log_stderror=yes # (cmd line: -E)
>
>
>#listen=212.103.160.198
>check_via=no # (cmd. line: -v)
>dns=no # (cmd. line: -r)
>rev_dns=no # (cmd. line: -R)
>port=5090
>children=4
>fifo="/tmp/t_write_req_ser_fifo"
>
># ------------------ module loading ----------------------------------
>
>loadmodule "modules/sl/sl.so"
>loadmodule "modules/tm/tm.so"
>loadmodule "modules/maxfwd/maxfwd.so"
>
># ------------------------- 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");
> exit;
> };
> if (msg:len >= max_len) {
> sl_send_reply("513", "Message too big");
> exit;
> };
>
> if (!uri==myself) {
> sl_send_reply("404", "not reponsible for host in r-uri");
> exit;
> };
>
>
> # 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");
> exit;
> };
>
> t_reply("100","Trying -- just wait a minute !");
> if(method=="INVITE"){
> if (uri=~"sip:999[0-9]@.*")
> {
> if (!t_write_req("/tmp/am_fifo", "announcement"))
> {
> log(1,"couldn't contact announcement server\n");
> t_reply("500", "couldn not contact announcement server");
> };
>
> log("!!!!!!!!!!!!!!!!!!!!!ANNOUNCEMENT!!!!!!!!!!!!!!!!!!!!!!\n");
> }
> else if(uri=~"sip:1234567890 at .*")
> {
> if (!t_write_req("/tmp/am_fifo", "number_reader"))
> {
> log("could not contact the number reader server\n");
> t_reply("500","could not contact ivr server");
> };
> log ("!!!!!!!!!!!!!!!!!!!!!!!!!IVR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
> }
> else if (uri=~"sip:55[0-9][0-9][0-9]@.*")
> {
> if (!t_write_req("/tmp/am_fifo", "conference"))
> {
> log("Could not contact conference server\n");
> t_reply("500","Could not contact conference server");
> };
> log ("!!!!!!!!!!!!!!!!!!!!!CONFERENCE!!!!!!!!!!!!!!!!!!!!!!!!!\n");
> }
> else
> {
>
> if(!t_write_req("/tmp/am_fifo","voicemail"))
> #if(!t_write_req("/tmp/am_fifo","ivr"))
> {
> log(1,"could not contact the answer machine\n");
> t_reply("500","could not contact the answer machine");
> };
>
> log("!!!!!!!!!!!!!!!!!!!!!!VOICEMAIL!!!!!!!!!!!!!!!!!!!!!!!!!\n");
> };
>#
># log("**************** t_write_req start - begin ******************\n");
># if(!t_write_req("/tmp/am_fifo","voicemail")){
># log("could not contact the answer machine\n");
># t_reply("500","could not contact the answer machine");
># };
># log("**************** t_write_req start - end ******************\n");
> } else if(method=="BYE"){
> log("**************** t_write_req end - begin ******************\n");
> if(!t_write_req("/tmp/am_fifo","bye")){
> log("could not contact the answer machine\n");
> t_reply("500","could not contact the answer machine");
> };
> log("**************** t_write_req end - end ******************\n");
> };
> exit;
> };
> if (method=="CANCEL") {
> sl_send_reply("200", "cancels are junked here");
> exit;
> };
> sl_send_reply("501", "method not understood here");
>}
>
>
I used the config u sent me now am getting this error in my log.
am using SEMS 0.9.0 and I have no idea what these errors mean
Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_t_reply:
lookup failed
Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_server:
command (t_reply) processing failed
Sep 11 14:33:30 serry Sems[19839]: Error: (AmRequest.cpp)(reply)(368):
AmRequestUAS::reply: 481 fifo_t_reply: no such transaction
Sep 11 14:33:30 serry Sems[19839]: Error: (AmSession.cpp)(run)(217): 500
could not send response.
Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_t_reply:
lookup failed
Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_server:
command (t_reply) processing failed
Sep 11 14:33:30 serry Sems[19839]: Error: (AmRequest.cpp)(reply)(368):
AmRequestUAS::reply: 481 fifo_t_reply: no such transaction
Sep 11 14:33:33 serry /usr/sbin/openser[20666]: LOG: Someone trying to
register from private IP, rewriting
Sep 11 14:33:35 serry /usr/sbin/openser[20678]: LOG: Someone trying to
register from private IP, rewriting
Sep 11 14:33:35 serry /usr/sbin/openser[20624]: WARNING: t_reply: ACKs
are not replied
--
Taymour A El Erian
System Division Manager
RHCE, LPIC, CCNA, MCSE, CNA
TE Data
E-mail: taymour.elerian at tedata.net
Web: www.tedata.net
Tel: +(202)-4166600
Fax: +(202)-4166700
Ext: 1101
More information about the Users
mailing list