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
of Tm
module .
**
*On 5/9/07, Peter Lemenkov <lemenkov(a)gmail.com> wrote:
2007/5/9, raviprakash sunkara <sunkara.raviprakash.feb14(a)gmail.com>om>:
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!