Hello Peter,
Thanks for giving a clues.
I need to tell the OpenSER Tutorials guys
in modules documentation of OpenSER of all version , mainly in tm modules,
In TM module the exported Function " t_write_fifo/unix("info","fifo/unix") " the function parameter should me reverser,
like t_write_fifo/unix("fifo/unix","info")
can replace the function in http://www.openser.org/docs/modules/ of Tm module .
2007/5/9, raviprakash sunkara <sunkara.raviprakash.feb14@gmail.com>:
> Hello Users
>
> Todays onwards I'm Started integrating SEMS.
> Previously I'm using the Asterisk + openSER1.2 .For a small change , I
> shifted into the SEMS for voicemail
>
> By this url (
> http://openser.org/pipermail/users/2005-September/000844.html53
> )
<sorry skipped>
This mini-tutorial is very outdated. Look at my current config with
OpenSER from svn ans SEMS from svn:
==========================================
# ------------------ module loading ----------------------------------
unix_sock="/tmp/openser_sems_socket"
mpath="/usr/local/lib/openser/modules"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule " maxfwd.so"
loadmodule "xlog.so"
loadmodule "avpops.so"
loadmodule "mysql.so"
modparam("tm", "fr_inv_timer", 15000)
modparam("tm", "pass_provisional_replies", 1)
modparam("rr", "enable_full_lr", 1)
modparam("avpops", "db_url", "mysql://openser:openserrw@127.0.0.1/openser")
modparam("avpops", "avp_table", "subscriber")
modparam( "avpops", "uuid_column", "id" )
modparam("avpops", "username_column", "username")
modparam("avpops", "db_scheme",
"email_scheme:table=subscriber;value_col=email_address;value_type=string")
modparam("tm", "tw_append", "voicemail_headers:P-Email-Address=$avp(i:67)")
modparam("tm", "tw_append", "mailbox_headers:P-Mailbox-URL=$avp(i:68)")
modparam("tm", "tw_append", "mailbox_query_headers:P-Mailbox-URL=$avp(i:68)")
avp_aliases="email=i:67;mailbox_uri=i:68"
# ------------------------- request routing logic -------------------
route{
xlog("L_ERR","BEGIN: call [$rm] ru[$ru] fu[$fu] tu[$tu]
si[$si] ct[$ct]\n");
if (!mf_process_maxfwd_header("5")) {
sl_send_reply("483","Too Many Hops");
return;
};
if (msg:len >= max_len ) {
sl_send_reply("513", "Message too big");
return;
};
record_route();
if (loose_route()) {
xlog("L_ERR","LOOSE_ROUTE: [$rm] ru[$ru] fu[$fu]
tu[$tu] si[$si] ct[$ct]\n");
}
if (!t_newtran()){
sl_send_reply("500","could not create transaction");
return;
};
if (method=="INVITE"){
# if(uri=~"sip:9.*@"){
# if(!t_write_unix("/tmp/sems_sock","conference"))
# t_reply("500","error contacting
conference server");
# }
if(uri=~"sip:2.*@"){
avp_db_load( "$fu", "$avp(i:67)/$email_scheme");
if(!t_write_unix("/tmp/sems_sock","voicemail/voicemail_headers"))
t_reply("500","error contacting
message-to-email server");
}
if(uri=~"sip:3.*@"){
if(!t_write_unix("/tmp/sems_sock","echo"))
t_reply("500","error contacting echo server");
}
if(uri=~"sip:7.*@"){
# TODO passwords
$avp(mailbox_uri) = "imap://" + $tu +
":123@localhost:143/INBOX";
if(!t_write_unix("/tmp/sems_sock","mailbox/mailbox_headers"))
t_reply("500","error contacting
mailbox server");
}
if(uri=~"sip:mail@"){
# TODO passwords
$avp(mailbox_uri) = "imap://" + $au +
":123@localhost:143/INBOX";
if(!t_write_unix("/tmp/sems_sock","mailbox_query/mailbox_headers"))
t_reply("500","error contacting
mailbox server for query");
}
if(uri=~"sip:error404.*@"){
if(!t_write_unix("/tmp/sems_sock","announcement"))
t_reply("500","error contacting
error404 server");
}
}
if (method=="BYE" || method=="CANCEL"){
if(!t_write_unix("/tmp/sems_sock","bye"))
t_reply("500","error contacting bye");
}
return;
}
==========================================
You also need to do next things:
* set up IMAP server (Dovecot or similar) in order to store voicemail
* Correct parameter ser_socket_name in /etc/sems/sems.conf
* Fix paths for audiofiles in /etc/sems/etc/*.conf
--
With best regards!