<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
1. Please don't copy specific people on posts<br>
2. serusers is very useful for answering specific questions, but then
you need to provide enough info for people to be able to respond. Most
people don't have time to do generic quality assurance of somebody's
complete configs.<br>
g-)<br>
<br>
Meidiana Ten wrote:
<blockquote cite="mid908427.91322.qm@web32412.mail.mud.yahoo.com"
 type="cite">Hi,<br>
Like u told me before, I've tried to install and configure SEMS into my
SER server to setup the voicemail feature.<br>
I add some configuration file into ser.cfg and configure the sems.conf.<br>
But when I try to run SER, I got some error. Please review my ser.cfg
and sems.conf file below:<br>
  <br>
ser.cfg:<br>
  <br>
  <div class="MsoPlainText">debug=9<br>
fork=yes<br>
log_stderror=yes<br>
  <br>
listen=202.95.149.2<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># put your server IP
address here<br>
port=5060<br>
children=4<br>
  <br>
dns=no<br>
rev_dns=no<br>
  <br>
fifo="/tmp/ser_fifo"<br>
fifo_db_url="mysql://ser:heslo@localhost/ser"<br>
fifo_mode=0666<br>
  <br>
loadmodule "/usr/local/lib/ser/modules/mysql.so"<br>
loadmodule "/usr/local/lib/ser/modules/sl.so"<br>
loadmodule "/usr/local/lib/ser/modules/tm.so"<br>
loadmodule "/usr/local/lib/ser/modules/rr.so"<br>
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"<br>
loadmodule "/usr/local/lib/ser/modules/usrloc.so"<br>
loadmodule "/usr/local/lib/ser/modules/registrar.so"<br>
loadmodule "/usr/local/lib/ser/modules/auth.so"<br>
loadmodule "/usr/local/lib/ser/modules/auth_db.so"<br>
loadmodule "/usr/local/lib/ser/modules/nathelper.so"<br>
loadmodule "/usr/local/lib/ser/modules/textops.so"<br>
loadmodule "/usr/local/lib/ser/modules/uri_db.so"<br>
loadmodule "/usr/local/lib/ser/modules/uri.so"<br>
loadmodule "/usr/local/lib/ser/modules/avpops.so"<br>
loadmodule "/usr/local/lib/ser/modules/domain.so"<br>
loadmodule "/usr/local/lib/ser/modules/permissions.so"<br>
loadmodule "/usr/local/lib/ser/modules/msilo.so"<br>
  <br>
modparam("auth_db|permissions|uri_db|usrloc","db_url",
"mysql://ser:heslo@localhost/ser")<br>
modparam("auth_db|uri_db|usrloc", "db_url",
"mysql://ser:heslo@localhost/ser")<br>
modparam("auth_db", "calculate_ha1", 1)<br>
modparam("auth_db", "password_column", "password")<br>
  <br>
modparam("nathelper", "natping_interval", 30)<br>
modparam("nathelper", "ping_nated_only", 1)<br>
modparam("nathelper", "rtpproxy_sock", "/var/run/rtpproxy.sock")<br>
  <br>
modparam("usrloc", "db_mode", 2)<br>
  <br>
modparam("registrar", "nat_flag", 6)<br>
  <br>
modparam("rr", "enable_full_lr", 1)<br>
  <br>
modparam("tm", "fr_inv_timer", 27)<br>
modparam("tm", "fr_inv_timer_avp", "inv_timeout")<br>
  <br>
modparam("permissions", "db_mode", 1)<br>
modparam("permissions", "trusted_table", "trusted")<br>
  <br>
modparam("tm", "fr_timer", 10 )<br>
modparam("tm", "fr_inv_timer", 15 )<br>
modparam("tm", "wt_timer", 10 )<br>
# configure tm to append this when tw_appent voicemail_headers is used<br>
#modparam("tm", "tw_append",
"voicemail_headers:hdr[User-Agent];P-Email-Address=avp[$email]")<br>
#modparam("tm", "pass_provisional_replies", 1)<br>
  <br>
modparam("msilo", "db_url", "mysql://ser:heslo@localhost/ser")<br>
modparam("msilo", "db_table", "silo")<br>
modparam("msilo","registrar",<a class="moz-txt-link-rfc2396E" href="mailto:sip:registrar@pcr.ac.id">"sip:registrar@pcr.ac.id"</a>)<br>
modparam("msilo","expire_time",259200)<br>
modparam("msilo","check_time",30)<br>
modparam("msilo","clean_period",5)<br>
  <br>
modparam( "avpops", "avp_aliases", "email=i:67" )<br>
  <br>
alias="pcr.ac.id"<br>
route {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#
-----------------------------------------------------------------<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># Sanity Check Section<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#
-----------------------------------------------------------------<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!mf_process_maxfwd_header("10")) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sl_send_reply("483", "Too Many
Hops");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (msg:len &gt; max_len) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sl_send_reply("513", "Message
Overflow");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#
-----------------------------------------------------------------<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># Record Route Section<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#
-----------------------------------------------------------------<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (method!="REGISTER") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>record_route();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (method=="BYE" || method=="CANCEL")
{<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>unforce_rtp_proxy();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#
-----------------------------------------------------------------<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># Loose Route Section<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#
-----------------------------------------------------------------<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (loose_route()) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (has_totag() &amp;&amp;
(method=="INVITE" || method=="ACK")) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
(nat_uac_test("19")) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>setflag(6);<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>force_rport();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>fix_nated_contact();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>force_rtp_proxy("l");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>route(1);<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#------------------------------------------------------------------<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># make transaction<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#-----------------------------------------------------------------<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!t_newtran()){<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("could not create
transaction\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sl_send_reply("500","could not
create transaction");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># actively absorb ACKs<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (method == "ACK") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_relay();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># pass INFO to SEMS <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (method=="INFO") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp; </span>if(!t_write_unix("/tmp/sems_sock","sems/info_append")){<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("could
not contact sems\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_reply("500","could
not contact media server");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp; </span>}<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri =~ "sip:101.*@") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
(!t_write_unix("/tmp/sems_sock","myapp")){<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("could not contact media
server\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_reply("500","could not
contact media server");<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri =~ "sip:102.*@") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
(!t_write_unix("/tmp/sems_sock","myconfigurableapp")){<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("could not contact media
server\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_reply("500","could not
contact media server");<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><br>
  <span style="">&nbsp;</span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri =~ "sip:103.*@") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
(!t_write_unix("/tmp/sems_sock","myannounceapp")){<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("could not contact media
server\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_reply("500","could not
contact media server");<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri =~ "sip:104.*@") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
(!t_write_unix("/tmp/sems_sock","myjukebox")){<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("could not contact media
server\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_reply("500","could not
contact media server");<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri =~ "sip:105.*@") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
(!t_write_unix("/tmp/sems_sock","mycc")){<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("could not contact media
server\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_reply("500","could not
contact media server");<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri =~ "sip:106.*@") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
(!t_write_unix("/tmp/sems_sock","ivr_announce")){<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("could not contact media
server\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_reply("500","could not
contact media server");<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># default sems apps<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri =~ "sip:110.*@") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
(!t_write_unix("/tmp/sems_sock","echo")){<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("could not contact
echo\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_reply("500","could not
contact media server");<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri =~ "sip:111.*@") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
(!t_write_unix("/tmp/sems_sock","announcement")){<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("could not contact
announcement\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_reply("500","could not
contact media server");<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri =~ "sip:112.*@") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
(!t_write_unix("/tmp/sems_sock","conference")){<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("could not contact
conference\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_reply("500","could not
contact media server");<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri =~ "sip:113.*@") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
(!t_write_unix("/tmp/sems_sock","mailbox")){<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("could not contact
mailbox\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_reply("500","could not
contact media server");<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri =~ "sip:114.*@") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
(!t_write_unix("/tmp/sems_sock","early_announce")){<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("could not contact
early_announce\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_reply("500","could not
contact media server");<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri =~ "sip:115.*@") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># load email avp with some email
address<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>avp_write("root@localhost","$email");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># use voicemail_headers append to
pass it to sems<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
(!t_write_unix("/tmp/sems_sock","voicemail/voicemail_headers")){<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("could not contact
voicemail\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_reply("500","could not
contact media server");<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_reply("404","Not found");<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#
-----------------------------------------------------------------<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># Offline Message Store Section<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#
-----------------------------------------------------------------<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (is_from_local()) {<span style="">&nbsp;&nbsp; </span><br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp; </span>if
(method=="REGISTER") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>save("location");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("REGISTER received -&gt;
dumping messages with MSILO\n");<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># MSILO - dumping user's offline
messages<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (m_dump())<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("MSILO: offline messages
dumped - if they were\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}else{<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("MSILO: no offline
messages dumped\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># domestic SIP destinations are
handled using our USRLOC DB<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if(!lookup("location"))<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (! t_newtran())<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sl_reply_error();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># we do not care about anything
else but MESSAGEs<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!method=="MESSAGE")<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!t_reply("404", "Not
found"))<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sl_reply_error();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("MESSAGE received -&gt;
storing using MSILO\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># MSILO - storing as offline
message<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (m_store("0"))<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("MSILO: offline message
stored\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!t_reply("202",
"Accepted"))<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sl_reply_error();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}else{<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("MSILO: offline message
NOT stored\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!t_reply("503", "Service
Unavailable"))<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sl_reply_error();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># if the downstream UA does not
support MESSAGE requests<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># go to failure_route[1]<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_on_failure("1");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_relay();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;</span><span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span># forward to
current uri now; use stateful forwarding that<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># works reliably even if we forward
from TCP to UDP<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!t_relay()) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sl_reply_error();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#
-----------------------------------------------------------------<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># Call Type Processing Section<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#
-----------------------------------------------------------------<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri!=myself) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>route(5);<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>route(1);<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri==myself) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (method=="ACK") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>route(6);<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} else if (method=="CANCEL") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>route(3);<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} else if (method=="INVITE") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>route(3);<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} else<span style="">&nbsp; </span>if
(method=="REGISTER") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>route(2);<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>lookup("aliases");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri!=myself) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>route(5);<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>route(1);<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!lookup("location")) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sl_send_reply("404",
"User Not Found");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>route(1);<br>
}<br>
  <br>
failure_route[1] {<br>
  <span style="">&nbsp;&nbsp;&nbsp; </span># forwarding failed -- check if the
request was a MESSAGE<br>
  <span style="">&nbsp;&nbsp;&nbsp; </span>if (!method=="MESSAGE")<br>
  <span style="">&nbsp;&nbsp;&nbsp; </span>{<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp; </span>};<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp; </span>log(1,"MSILO:the downstream UA doesn't
support MESSAGEs\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp; </span># we have changed the R-URI with the
contact address, ignore it now<br>
  <span style="">&nbsp;&nbsp;&nbsp; </span>if (m_store("1"))<br>
  <span style="">&nbsp;&nbsp;&nbsp; </span>{<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("MSILO: offline message stored\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_reply("202", "Accepted");<br>
  <span style="">&nbsp;&nbsp;&nbsp; </span>}else{<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>log("MSILO: offline message NOT
stored\n");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_reply("503", "Service Unavailable");<br>
  <span style="">&nbsp;&nbsp;&nbsp; </span>};<br>
}<br>
  <br>
route[1] {<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#
-----------------------------------------------------------------<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># Default Message Handler<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#
-----------------------------------------------------------------<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_on_reply("1");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!t_relay()) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (method=="INVITE"
&amp;&amp; isflagset(6)) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>unforce_rtp_proxy();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sl_reply_error();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
}<br>
  <br>
route[2] {<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#
-----------------------------------------------------------------<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># REGISTER Message Handler<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#
----------------------------------------------------------------<br>
  <br>
  <span style="">&nbsp;</span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
(!search("^Contact:\ +\*") &amp;&amp; nat_uac_test("19")) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>setflag(6);<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>fix_nated_register();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>force_rport();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sl_send_reply("100", "Trying");<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
(!www_authorize("pcr.ac.id","subscriber")) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>www_challenge("pcr.ac.id","0");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!check_to()) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sl_send_reply("401",
"Unauthorized");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>consume_credentials();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!save("location")) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sl_reply_error();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
}<br>
  <br>
route[3] {<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#
-----------------------------------------------------------------<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># CANCEL and INVITE Message Handler<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#
-----------------------------------------------------------------<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!allow_trusted() &amp;&amp;
nat_uac_test("19")) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>setflag(6);<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>lookup("aliases");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (method=="INVITE" &amp;&amp;
!allow_trusted())<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
(!proxy_authorize("pcr.ac.id","subscriber")) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>proxy_challenge("pcr.ac.id","0");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} else if (!check_from()) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sl_send_reply("403",
"Use From=ID");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>consume_credentials();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri=~"^sip:9[0-9]*@") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>route(4);<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri!=myself) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>route(5);<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>route(1);<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!lookup("location")) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (uri=~"^sip:[0-9]{10}@") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>route(4);<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sl_send_reply("404", "User Not
Found");<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (isflagset(6)) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>force_rport();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>fix_nated_contact();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>force_rtp_proxy();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>t_on_reply("1");<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!t_relay()) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if(isflagset(6)) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>unforce_rtp_proxy();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sl_reply_error();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
}<br>
  <br>
route[4] {<br>
  <br>
  <span style="">&nbsp;</span>#
-----------------------------------------------------------------<br>
  <span style="">&nbsp;</span># PSTN Handler<br>
  <span style="">&nbsp;</span>#
-----------------------------------------------------------------<br>
  <br>
  <span style="">&nbsp;</span>rewritehostport("202.95.149.2:5060"); # INSERT
YOUR PSTN GATEWAY IP ADDRESS<br>
  <span style="">&nbsp;</span>avp_write("i:45", "inv_timeout");<br>
  <br>
  <span style="">&nbsp;</span>if (isflagset(6)) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>force_rport();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>fix_nated_contact();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>force_rtp_proxy();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;</span>route(1);<br>
  <span style="">&nbsp;</span>}<br>
  <br>
onreply_route[1] {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (isflagset(6) &amp;&amp;
status=~"(180)|(183)|2[0-9][0-9]") {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (!search("^Content-Length:\
+0")) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>force_rtp_proxy();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
  <br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (nat_uac_test("1")) {<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;</span>fix_nated_contact();<br>
  <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<br>
}<br>
  </div>
  <div class="MsoPlainText"><o:p>-------------------------------------------------------------------------------------------------------------------</o:p></div>
  <div class="MsoPlainText"><o:p>sems.conf:</o:p></div>
  <div class="MsoPlainText"># Sip Express Media Server (sems)<br>
# <br>
# sample configuration file<br>
# <br>
#<br>
# whitespaces (spaces and tabs) are ignored<br>
# comments start with a "#" and may be used inline<br>
# <br>
# example: option=value1, value2<span style="">&nbsp; </span># i like this
option<br>
#<br>
  <br>
##################################<br>
# global parameters<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#<br>
##################################<br>
  <br>
# optional parameter: fork={yes|no}<br>
# <br>
# - specifies if sems should run in daemon mode (background)<br>
#<span style="">&nbsp;&nbsp; </span>(fork=no is the same as -E)<br>
fork=yes<br>
  <br>
# optional parameter: stderr={yes|no}<br>
#<br>
# - debug mode: do not fork and log to stderr<br>
#<span style="">&nbsp;&nbsp; </span>(stderr=yes is the same as -E)<br>
stderr=no<br>
  <br>
# optional parameter: loglevel={0|1|2|3}<br>
#<br>
# - sets log level (error=0, warning=1, info=2, debug=3)<br>
#<span style="">&nbsp;&nbsp; </span>(same as -D)<br>
loglevel=1<br>
  <br>
# optional parameter: ser_fifo_name=&lt;filename&gt;<br>
#<br>
# - path and file name of Ser's fifo file (same as -o)<br>
ser_fifo_name=/tmp/ser_fifo<br>
  <br>
# optional parameter: socket_name=&lt;filename&gt;<br>
#<br>
# - path and file name of our unix socket<br>
socket_name=/tmp/am_sock<br>
  <br>
# optional parameter: ser_socket_name=&lt;filename&gt;<br>
#<br>
# - path and file name of Ser's unix socket<br>
ser_socket_name=/tmp/ser_sock<br>
  <br>
# optional parameter: send_method=&lt;filename&gt;<br>
#<br>
# - sets which method will be used to contact Ser:<br>
#<span style="">&nbsp;&nbsp; </span>FIFO or unix socket server.<br>
# - values: fifo (default), unix_socket<br>
#<br>
# - PLEASE NOTE THAT: if you use 'fifo', make sure that<br>
#<span style="">&nbsp;&nbsp; </span>fifo_name and ser_fifo_name have been set.
if you use 'unix_socket',<br>
#<span style="">&nbsp;&nbsp; </span>make sure that socket_name and
ser_socket_name have been set.<br>
# <br>
send_method=fifo<br>
  <br>
# optional parameter: user_prefix_separator<br>
#<span style="">&nbsp; </span>if set, sems will reply with a Contact header
in the form<br>
#<span style="">&nbsp;&nbsp; </span>Contact:
&lt;plugin-name&gt;&lt;user_prefix_separator&gt;&lt;user&gt;<br>
#<span style="">&nbsp; </span>needed if a single ser instance is used with
sems.<br>
#<br>
# user_prefix_separator=+<br>
  <br>
# optional parameter: plugin_path=&lt;path&gt;<br>
# <br>
# - sets the path to the plug-ins<br>
# - may be absolute or relative to CWD<br>
#plugin_path=/usr/local/lib/sems/plug-in/<br>
plugin_path=lib<br>
  <br>
# optional parameter: smtp_server=&lt;hostname&gt;<br>
#<br>
# - sets address of smtp server<br>
smtp_server=localhost<br>
  <br>
# optional parameter: smtp_port=&lt;port&gt;<br>
#<br>
# - sets port of smtp server<br>
smtp_port=25<br>
  <br>
# optional parameter: rtp_low_port=&lt;port&gt;<br>
#<br>
# - sets port of rtp lowest server<br>
#rtp_low_port=1024<br>
  <br>
# optional parameter: rtp_high_port=&lt;port&gt;<br>
#<br>
# - sets port of rtp highest server<br>
#rtp_high_port=65535<br>
  <br>
##################################<br>
# module specific parameters<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>#<br>
##################################<br>
  <br>
# sample voicemail configuration (inline)<br>
config.voicemail=inline<br>
  <br>
# optional parameter: announce_path=&lt;path&gt;<br>
# <br>
# - sets the path where announce files are searched for<br>
# - the file to be played is determined the following way:<br>
#<span style="">&nbsp;&nbsp; </span>&lt;announce_path&gt;/&lt;domainname&gt;/&lt;username&gt;.wav<br>
#<span style="">&nbsp;&nbsp; </span>if this file is not available
&lt;announce_path&gt;/&lt;default_anounce&gt; is used<br>
#announce_path=/usr/local/lib/sems/audio/<br>
announce_path=wav<br>
  <br>
# parameter: default_announce=&lt;filename&gt;<br>
# <br>
# - sets the name of the default announce WAV file<br>
default_announce=default_en.wav<br>
  <br>
# parameter: max_record_time=&lt;seconds&gt;<br>
#<br>
# - maximum record time<br>
max_record_time=30<br>
  <br>
# parameter: email_template=&lt;filename&gt;<br>
#<br>
# - email template file<br>
# <br>
# See the README file in &lt;sems-src&gt;/plug-in/voicemail<br>
# for more information on the syntax used.<br>
#<br>
#email_template=/usr/local/lib/sems/plug-in/mail.template<br>
email_template=plug-in/voicemail/default.template.sample<br>
  <br>
# end of configuration section for voicemail module<br>
config.voicemail=end<br>
  <br>
  <br>
# sample announcement configuration (inline)<br>
config.announcement=inline<br>
  <br>
# optional parameter: announce_path=&lt;path&gt;<br>
# <br>
# - sets the path where announce files are searched for<br>
#announce_path=/usr/local/lib/sems/audio/<br>
announce_path=wav<br>
  <br>
# parameter: default_announce=&lt;filename&gt;<br>
# <br>
# - sets the name of the default announce WAV file<br>
default_announce=default_en.wav<br>
  <br>
# end of configuration section for announcement module<br>
config.announcement=end<br>
  <br>
  <br>
# sample isdngw module configuration (external file)<br>
# config.isdngw=/etc/isdngw.conf<br>
  <br>
# sample ivr module configuration (inline)<br>
config.ivr=inline<br>
  <br>
#parameter: python_script_path=&lt;full path&gt;<br>
#python_script_path=/etc/ivr<br>
  <br>
#parameter: python_script_file=&lt;filename&gt;<br>
#python_script_file=example.py<br>
  <br>
# end of configuration section for ivr module<br>
config.ivr=end<br>
  <br>
  <br>
# sample conference configuration (inline)<br>
config.conference=inline<br>
  <br>
# parameter: default_announce=&lt;filename&gt;<br>
#<br>
# - sets the full pathed name of the default announce WAV file.<br>
#<span style="">&nbsp;&nbsp; </span>Will be played to lonely users.<br>
#default_announce=/usr/local/lib/sems/audio/first_participant.wav<br>
default_announce=wav/first_participant.wav<br>
  <br>
# parameter: join_sound=&lt;filename&gt;<br>
#<br>
# - sets the full pathed name of a WAV file<br>
#<span style="">&nbsp;&nbsp; </span>which will be played to conference users <br>
#<span style="">&nbsp;&nbsp; </span>when a new user joins the conference.<br>
#join_sound=/usr/local/lib/sems/audio/beep.wav<br>
join_sound=wav/beep.wav<br>
  <br>
# parameter: drop_sound=&lt;filename&gt;<br>
#<br>
# - sets the full pathed name of a WAV file<br>
#<span style="">&nbsp;&nbsp; </span>which will be played to conference users <br>
#<span style="">&nbsp;&nbsp; </span>when a user drops the conference.<br>
#drop_sound=/usr/local/lib/sems/audio/beep.wav<br>
drop_sound=wav/beep.wav<br>
  <br>
# end of configuration section for conference module<br>
config.conference=end<br>
  <br>
# example configuration for number reader<br>
config.number_reader=inline<br>
  <br>
#number_path=/usr/local/lib/sems/audio/<br>
number_path=wav<br>
  <br>
prolog_file=welcome_to_number_reader.wav<br>
  <br>
epilog_file=thanks_calling_number_reader.wav<br>
  <br>
# end of number_reader configuration<br>
config.number_reader=end<br>
  <br>
# add more module configurations here (inline or external):<br>
#<br>
# config.mymodule=&lt;filename&gt;<br>
#<span style="">&nbsp; </span>or<br>
# config.mymodule=inline<br>
# ...<br>
# config.mymodule=end<o:p> <br>
  </o:p></div>
  <div class="MsoPlainText"><o:p>-------------------------------------------------------------------------------------------------------------------</o:p></div>
  <div class="MsoPlainText"><o:p>In addition, I'm using SER 0.9.7.</o:p></div>
  <div class="MsoPlainText"><o:p>Please tell me what's wrong.</o:p></div>
  <div class="MsoPlainText"><o:p>Thanx</o:p></div>
  <div class="MsoPlainText"><br>
  <o:p></o:p></div>
  <div class="MsoPlainText"><o:p>Regards,</o:p></div>
  <div class="MsoPlainText"><o:p>Meidiana<br>
  </o:p></div>
  <p> </p>
  <hr size="1">Access over 1 million songs - <a
 href="http://pa.yahoo.com/*http://us.rd.yahoo.com/evt=36035/*http://music.yahoo.com/unlimited/">Yahoo!
Music Unlimited.</a>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
Serusers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Serusers@lists.iptel.org">Serusers@lists.iptel.org</a>
<a class="moz-txt-link-freetext" href="http://lists.iptel.org/mailman/listinfo/serusers">http://lists.iptel.org/mailman/listinfo/serusers</a>
  </pre>
</blockquote>
</body>
</html>