<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;"><div><font class="Apple-style-span" face="arial" size="2">thanks for your reply this is my config file could you please take a look ,the line that send that replay is in red but i do not know why .? could you help me i am stuck</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">####### Global Parameters #########</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">debug=3</font></div><div><font class="Apple-style-span" face="arial" size="2">log_stderror=no</font></div><div><font class="Apple-style-span" face="arial" size="2">log_facility=LOG_LOCAL0</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span"
 face="arial" size="2">fork=yes</font></div><div><font class="Apple-style-span" face="arial" size="2">children=4</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">check_via=yes</font></div><div><font class="Apple-style-span" face="arial" size="2">dns=no</font></div><div><font class="Apple-style-span" face="arial" size="2">rev_dns=no</font></div><div><font class="Apple-style-span" face="arial" size="2">disable_tcp=yes</font></div><div><font class="Apple-style-span" face="arial" size="2">disable_dns_blacklist=yes</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">auto_aliases=no</font></div><div><font class="Apple-style-span" face="arial"
 size="2">listen=udp:79.12.254.153:5060</font></div><div><font class="Apple-style-span" face="arial" size="2">alias="zcall.com"</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">####### Modules Section ########</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">#set module path</font></div><div><font class="Apple-style-span" face="arial" size="2">mpath="/usr/local/kamailio-1.4-pp/lib64/kamailio/modules/"</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">/* loading module */</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "mi_fifo.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule
 "db_mysql.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "sl.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "tm.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "rr.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "maxfwd.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "usrloc.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "registrar.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "textops.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "uri_db.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "uri.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "xlog.so"</font></div><div><font
 class="Apple-style-span" face="arial" size="2">loadmodule "acc.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "auth.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "domain.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "avpops.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "nathelper.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "pike.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "lcr.so"</font></div><div><font class="Apple-style-span" face="arial" size="2">loadmodule "rtimer.so"</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># ----------------- setting
 module-specific parameters ---------------</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># ----- mi_fifo params -----</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo")</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># ----- rr params -----</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("rr", "enable_full_lr", 1)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("rr", "append_fromtag", 1)</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># ----- rr params -----</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("registrar", "method_filtering", 1)</font></div><div><font class="Apple-style-span" face="arial" size="2"># modparam("registrar", "append_branches", 0)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("registrar", "max_contacts", 4)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("registrar", "aor_avp", "$avp(i:200)")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("registrar", "received_avp", "$avp(i:201)")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("registrar", "max_expires", 600)</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># ----- uri_db params -----</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("uri_db", "use_uri_table", 0)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("uri_db", "db_url", "")</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># ----- acc params -----</font></div><div><font class="Apple-style-span" face="arial" size="2">/* what sepcial events should be accounted ? */</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("acc", "db_url",</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">        </span>"mysql://openser:XXXXXXXX@192.168.1.11/openser")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("acc", "acc_time_column", "start_time")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("acc", "early_media", 0)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("acc", "report_ack", 0)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("acc", "report_cancels", 0)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("acc", "detect_direction", 0)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("acc", "failed_transaction_flag", 3)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("acc", "log_flag", 1)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("acc", "log_missed_flag",
 2)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("acc", "db_flag", 1)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("acc", "db_missed_flag", 2)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("acc", "log_extra", "su_id=$avp(i:321);du_id=$avp(i:361);src_orig=$avp(i:381);dst_orig=$avp(i:382);dst_addr=$avp(i:383);src_ip=$si")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("acc", "db_extra", "su_id=$avp(i:321);du_id=$avp(i:361);src_orig=$avp(i:381);dst_orig=$avp(i:382);dst_addr=$avp(i:383);src_ip=$si")</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># ----- usrloc params -----</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("usrloc", "db_url",</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>"mysql://openser:XXXXXXX@192.168.1.11/openser")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("usrloc", "db_mode", &nbsp; 2)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("usrloc", "timer_interval", 10)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("usrloc", "nat_bflag", 6)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("usrloc", "desc_time_order", 1)</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># ----- avpops params -----</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("avpops", "db_url",</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">
        </span>"mysql://openser:XXXXXXX@192.168.1.11/openser")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("avpops", "avp_table", "usr_preferences")</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># ----- domain params -----</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("domain", "db_url",</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>"mysql://openser:XXXXXXX@192.168.1.11/openser")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("domain", "db_mode", 1) &nbsp; # Use caching</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># ----- auth params -----</font></div><div><font
 class="Apple-style-span" face="arial" size="2">modparam("auth", "nonce_expire", &nbsp;300)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("auth", "rpid_avp", "$avp(i:202)")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("auth", "username_spec", "$var(username)")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("auth", "password_spec", "$var(password)")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("auth", "calculate_ha1", 1)</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># ----- tm params -----</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("tm", "fr_timer", 20)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("tm", "fr_inv_timer", 40)</font></div><div><font
 class="Apple-style-span" face="arial" size="2">modparam("tm", "wt_timer", 5)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("tm", "fr_inv_timer_avp", "$avp(i:203)")</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># ----- maxfwd params -----</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("maxfwd", "max_limit", 15)</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># ----- nathelper -----</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("nathelper", "rtpproxy_sock", "udp:127.0.0.1:7811")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("nathelper", "natping_interval", 30)</font></div><div><font class="Apple-style-span" face="arial"
 size="2">modparam("nathelper", "ping_nated_only", 1)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("nathelper", "sipping_from", "sip:pinger@zcall.com")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("nathelper", "received_avp", "$avp(i:201)")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("nathelper", "sipping_bflag", 8)</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># ----- pike params -----</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("pike", "sampling_time_unit", 5)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("pike", "reqs_density_per_unit", 50)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("pike", "remove_latency", 4)</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># ----- lcr params -----</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("lcr", "db_url",</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>"mysql://openser:XXXXXXX@192.168.1.11/openser")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("lcr", "fr_inv_timer",40)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("lcr", "fr_inv_timer_next",30)</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("lcr", "fr_inv_timer_avp", "$avp(i:203)")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("lcr", "gw_uri_avp", "$avp(i:440)")</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("lcr", "ruri_user_avp", "$avp(i:441)")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("lcr", "contact_avp", "$avp(i:442)")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("lcr", "flags_avp", "$avp(i:443)")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("lcr", "rpid_avp", "$avp(i:202)")</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># ----- rtimer params -----</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("rtimer", "timer", "name=ta;interval=60;mode=1;")</font></div><div><font class="Apple-style-span" face="arial" size="2">modparam("rtimer", "exec", "timer=ta;route=24")</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">####### Routing Logic ########</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"># main request routing logic</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">route[0]{</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>##### ----- INITIAL CHECKS -----------------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">        </span>if(from_uri=~"sip:.*@.+@.+") {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; &nbsp;xlog("+++++ bad from uri from IP: $si\n");</font></div><div><font class="Apple-style-span" face="arial" size="2">&nbsp; &nbsp;<span class="Apple-tab-span" style="white-space:pre">                </span> exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (!mf_process_maxfwd_header("10")) {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>sl_send_reply("483","Too Many
 Hops");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if ( msg:len &gt;= 8192 ) {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>sl_send_reply("513", "Message too big");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">        </span>if (from_uri =~ "sip:[a-zA-Z0-9]+ .*@" ) {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>sl_send_reply("400", "Insane message with spaces in uri");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if ( is_method("NOTIFY") &amp;&amp; is_domain_local("$rd")</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>&amp;&amp; $hdr(Event) =~ "keep-alive" )</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>sl_send_reply("200", "OK - keepalive");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (!has_totag() &amp;&amp; $rd=="79.12.254.153")</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>rewritehost("zcall.com");</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>##### ----- NAT DETECTION ------------------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>route(3);</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>##### ----- WITHIN DIALOG ------------------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (has_totag())</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span"
 face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if (loose_route())</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>if (is_method(“BYE”))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>setflag(1); # do accouting ...</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>setflag(3); # ... even if the transaction fails</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">                                </span>route(21);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>route(1);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>if ( is_method(“ACK”) )</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>if ( t_check_trans() )</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                        </span>t_relay();</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                
        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply(“404”,”Not here”);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>##### ----- INITIAL REQUESTS ------------------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span># CANCEL processing</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (is_method(“CANCEL”))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if (t_check_trans())</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>t_relay();</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>t_check_trans();</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>##### ----- REGISTER FILTERING ----------------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (is_method(“REGISTER”))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>route(7);</font></div><div><span class="Apple-tab-span"
 style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>##### ----- AUTHENTICATE ----------------------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(!is_domain_local(“$fd”))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if(!is_domain_local(“$rd”))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">                        </span>xlog(“+++++ bad from fd from IP: $fd\n”);</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">                        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>xlog(“+++++ bad from $rd from IP: $rd \n”);</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span><font class="Apple-style-span" color="#c00000">sl_send_reply(“403”, “Proxy forbidden”);</font></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$var(u) = $fU;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$var(d) = $fd;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$var(p) = 0;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if(!route(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply(“404”, “Non-local user”);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if(!route(8))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply(“404”, “No user profile”);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">                        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if($avp(i:323)==1</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>|| $avp(i:323)==2)</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply(“403”, “Not allowed”);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>exit;</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>route(6);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>setflag(4);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>##### ----- RECORD ROUTING --------------------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>If
 (!is_method(“REGISTER|MESSAGE”))&nbsp;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>record_route();</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>##### ----- ACCOUNTING ------------------------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (is_method("INVITE")) {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>setflag(1); # do accouting</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$avp(i:381) = $fu;</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$avp(i:382) = $ru;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>##### ----- LOCAL/FOREIGN DOMAIN FILTERING ------------------------------</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if ( is_domain_local("$rd") || $rU=~"^000111" )</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>Route(4);&nbsp;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>route(5);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">###----------------------- RELAY ---------------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2">route[1] {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (!issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if (subst_uri('/(sip:.*);nty=yes/\1/'))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>setbflag(6);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        
        </span>if (isflagset(5))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>route(2);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>search_append('Contact:.*sip:[^&gt;[:cntrl:]]*', ';nty=yes');</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>setsflag(9);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>} else {</font></div><div><font class="Apple-style-span"
 face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>append_branch();</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>t_on_branch("1");</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (!t_relay())</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>sl_reply_error();</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">
        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">###----------------------- LOCAL dst ------------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2">route[4]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if ($rU==NULL)</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span># request with no Username in RURI</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>sl_send_reply("484","Address Incomplete");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>route(10);</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>switch($var(dst_type))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">
        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>case 1:</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>route(5);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>case 2:</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>$avp(i:200) = "sip:" + $avp(i:361) + "@zcall.com";</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>if (!lookup("location"))</font></div><div><font class="Apple-style-span"
 face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>switch ($retcode)</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                        </span>case -1:</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                        </span>case -3:</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                                </span>route(12);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                
        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                        </span>case -2:</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                                </span>if (issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                                        </span>t_reply("405", "Method Not Allowed");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                                </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                                        </span>sl_send_reply("405", "Method Not
 Allowed");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span># when routing via usrloc, log the missed calls also</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>setflag(2);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">                        </span>t_on_failure("1");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>route(1);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>case 3:</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>route(16);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>default:</font></div><div><font class="Apple-style-span"
 face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>route(19);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>route(1);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">###----------------------- FOREIGN dst ----------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2">route[5]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$avp(i:383) := $ru;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>route(1);</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">###----------------------- PSTN dst
 ----------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2">route[19]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($rU =~ "^3[1-9]")</font></div><div><font class="Apple-style-span" face="arial" size="2">&nbsp; &nbsp; {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>prefix("0000039");</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2">&nbsp; &nbsp; }</font></div><div><span
 class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if($rU =~ "^0[1-9]")</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">                </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>prefix("0000039");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">        </span>if(!isflagset(4))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if (issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>t_reply("403", "PSTN not allowed");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply("403", "PSTN not
 allowed");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (!load_gws()) {&nbsp;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>sl_send_reply("503", "Unable to load gateways");&nbsp;</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">                </font></span></div><div><font class="Apple-style-span" face="arial"
 size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;&nbsp;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}&nbsp;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(!next_gw()){&nbsp;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>sl_send_reply("503", "Unable to find a gateway");</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;&nbsp;</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>route(20);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">###----------------------- SET LOCAL dst --------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2">route[10]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">
        </span>$var(dst_type) = 0;</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span># check emergency service numbers</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span># check media server numbers</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($rU =~ "^000111[0-9]+" || $rU =~ "^2[0-9]+$" || $rU=~ "^0698960860")</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$var(dst_type) = 3;</font></div><div><font class="Apple-style-span"
 face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$avp(i:383) := $ru;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>return(1);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial"
 size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if ($rU=~"^[0-9][0-9]$")</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(!avp_db_query("select address from speed_dial where \</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>subsid='$avp(i:321)' and short_dial='$rU'", "$avp(i:100)")</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>|| !is_avp_set("$avp(i:100)"))</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>if (issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>t_reply("404", "Not Found - Invalid Speed dial");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>sl_send_reply("404", "Not Found - Invalid Speed dial");</font></div><div><font class="Apple-style-span"
 face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$ru = $avp(i:100);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">                </span>$avp(i:100) = null;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$avp(i:383) := $ru;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if ( !is_domain_local("$rd") )</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>$var(dst_type) = 1;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>return(-1);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        
        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(u) = $rU;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(d) = $rd;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(p) = 1;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$avp(i:383) := $ru;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($rU=~"^[09][0-9]+$"
 &amp;&amp; route(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if(!route(8))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply("404", "No user profile");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">                </span>if($avp(i:363)==1)</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply("404", "User suspended");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$var(dst_type) = 2;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        
        </span>return(1);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($rU =~
 "^00[1-9]")</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>prefix("000");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}&nbsp;</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$avp(i:383) := $ru;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>return(1);</font></div><div><font
 class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">route[11]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>rewritehostport("79.12.254.153");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>setdsturi("sip:79.12.254.153:5068");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>route(1);</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial"
 size="2">route[22]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("insert into hanitest (hclient,hs) values ('from hani','route22') ");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>rewritehostport("79.12.254.153");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>setdsturi("sip:79.12.254.153:5068");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(isflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span"
 face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>t_on_failure("2");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>t_on_reply("2");&nbsp;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>t_on_branch("2");&nbsp;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>append_branch();</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">        </span>if(!t_relay())</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>sl_reply_error();</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">###----------------------- NAT detection --------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2">route[3]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>force_rport();</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (nat_uac_test("19"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if ( is_method("REGISTER") || ! is_present_hf("Record-Route"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>if (is_method("REGISTER"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">                                </span>fix_nated_register();</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>fix_nated_contact();</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>setflag(5); # Mark as NATed source</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span> <span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">###----------------------- NAT processing -------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2">route[2]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (is_method("BYE|CANCEL"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">                </span>unforce_rtp_proxy();</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>} else if (is_method("INVITE")) {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if (nat_uac_test("8"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>force_rtp_proxy("co");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                
        </span>force_rtp_proxy("cor");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>setbflag(7);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>t_on_failure("1");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>t_on_reply("1");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial"
 size="2">###----------------------- AUTHENTICATE ---------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2">route[6]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($var(p) == 0)</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$var(password) = $avp(i:322);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$var(password) =
 $avp(i:362);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(is_method("REGISTER"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if(is_present_hf("Authorization"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">                        </span>$var(username) = $au;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>if(!pv_www_authorize(""))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>www_challenge(""/*realm*/,"0"/*qop*/);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>return(1);</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>www_challenge("","0");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span># TODO add check-to</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>} else {</font></div><div><font class="Apple-style-span"
 face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if(is_present_hf("Proxy-Authorization"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>$var(username) = $au;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>if(!pv_proxy_authorize(""))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>proxy_challenge(""/*realm*/,"0"/*qop*/);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">                                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>consume_credentials();</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>return(1);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>proxy_challenge("","0");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>exit;</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span># TODO add check-fromm</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">###----------------------- REGISTRAR ------------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2">route[7]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">
        </span># do AUTH</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(!is_domain_local("$fd"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>sl_send_reply("403", "Registration forbidden");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(u) = $tU;</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(d) = $td;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(p) = 1;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(!route(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>sl_send_reply("404", "Non-local user");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">
        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(!route(8))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>sl_send_reply("404", "No user profile");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($avp(i:363)==1)</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>sl_send_reply("403", "Registration not allowed");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>route(6);</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span># save source NAT
 flag</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (isflagset(5))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>setbflag(6);</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span># do SIP ping for everybody</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>setbflag(8);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$avp(i:200) = "sip:" + $avp(i:361) + "@zcall.com";</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (!save("location"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>sl_send_reply("500", "Registrar error");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">
        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">###----------------------- LOAD PROFILE ---------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2">route[8]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($var(p) == 0)</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">                </span>if(!avp_db_query("select password, user_type from subscriber where \</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>subsid='$avp(i:321)'",</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>"$avp(i:322),$avp(i:323)"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>return(-1);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if(!avp_db_query("select password, user_type from subscriber where \</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>subsid='$avp(i:361)'",</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>"$avp(i:362),$avp(i:363)"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>return(-1);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>return(1);</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">###----------------------- DETECT SUBS ID -------------------------------</font></div><div><font class="Apple-style-span" face="arial" size="2">route[9]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(!avp_db_query("select subsid from sipaliases where \</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sip_username='$var(u)' and sip_domain='$var(d)'",</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>"$avp(i:300)"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        
        </span>return(-1);</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(!is_avp_set("$avp(i:300)"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>return(-1);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($var(p) == 0)</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$avp(i:321) = $avp(i:300);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>else</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        
        </span>$avp(i:361) = $avp(i:300);</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$avp(i:300) := null;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>return(1);</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">route[12]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if ( !is_method("INVITE") )</font></div><div><font class="Apple-style-span"
 face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">                </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>sl_send_reply("404", "Not Found");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span># maybe send to VM ...</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">        </span>if (issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span> t_reply("404","user off-line");</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>sl_send_reply("404", "user off-line");</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial"
 size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">route[16]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if( !is_method("INVITE") )</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>return;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">
        </span>if($rU=~"^000111")</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>strip(6);</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if($rU=~"^4")</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>strip(1);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">                        </span>route(20);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>switch($rU)</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>case
 "200":</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>case "202":</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>route(23);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>case "234":</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>$rU = "APP_WELCOME_IPS";</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>route(11);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>case "235":</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>$rU = "APP_ECHO";</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>route(11);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">                </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>default:</font></div><div><font class="Apple-style-span"
 face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>route(11);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>t_reply("404","No such app");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">                </span>sl_send_reply("404", "No such app");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">route[20] {</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if(!is_avp_set("$avp(i:321)"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if (issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>t_reply("403","Not allowed");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>else</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply("403", "Not allowed");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(ppaccount) = $avp(i:321);</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("select count(*) from prp_acalls where account='$var(ppaccount)'",</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>"$avp(i:1)");</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">        </span>if($avp(i:1)&gt;0)</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">                </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>if (issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>t_reply("403","Not allowed - active calls");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>else</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply("403", "Not allowed - active
 calls");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$avp(i:1) = null;</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("select client_name from subscriber where subsid='$var(ppaccount)'","$avp(i:420)");</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">        </span>$var(ppclient) = $avp(i:420);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>avp_db_query("select agent,profile,plan,atype,credit from prp_accounts where client='$var(ppclient)'","$avp(i:433),$avp(i:434),$avp(i:421),$avp(i:422),$avp(i:423)");</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$var(ppagent) = $avp(i:433);</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(!is_avp_set("$avp(i:421)"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if (issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>t_reply("403","Not allowed - no account");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>else</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply("403", "Not allowed - no account");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">
        </span>}</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span># chech agent credit and allow if has enough credit</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("select ag_credit, ag_profile from prp_agent where agent='$var(ppagent)'","$avp(i:424),$avp(i:425)");</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span># check agent credit</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($avp(i:424)&lt;=0 and
 $avp(i:425)==400)</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; &nbsp;{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span> &nbsp; if (issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span> &nbsp; &nbsp; &nbsp;t_reply("403","Not allowed - agent no credit");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span> &nbsp; else</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span> &nbsp; &nbsp; &nbsp;sl_send_reply("403", "Not allowed - agent no credit");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">                </span> &nbsp; exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; }</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>#check if client is enabled and has credit</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($avp(i:422)!=0 || $avp(i:423)&lt;=0)</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if (issflagset(9))</font></div><div><font class="Apple-style-span"
 face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>t_reply("403","Not allowed - no credit");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>else</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply("403", "Not allowed - no credit");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><span
 class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(pplan) = $avp(i:421);</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("select time_unit, rate from prp_rates where plan='$var(pplan)' and '$var(ppru)' like prefix order by prefix desc","$avp(i:426),$avp(i:427)");</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("insert into hanitest
 (hclient,hs)values('$rU','$var(ppru)')");</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(!is_avp_set("$avp(i:427)"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>if (issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>t_reply("403","Not allowed - no rate");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">                </span>else</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply("403", "Not allowed - no rate");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($avp(i:423)&lt;$avp(i:427))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>if (issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">                        </span>t_reply("403","Not allowed - no much credit");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>else</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply("403", "Not allowed - no much credit");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>#
 check agent sufficent credit</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($avp(i:424)&lt;$avp(i:427))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; &nbsp;{</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">                </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                </span>if (issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span> &nbsp; &nbsp; &nbsp; t_reply("403","Not allowed -agent no much credit");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>
 else</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span> sl_send_reply("403", "Not allowed -agent no much credit");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span> exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(tu) = $avp(i:423) / $avp(i:427);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(tu) = $var(tu) * $avp(i:426);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">        </span>if($var(tu)&gt;7200)</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$var(tu) = 7200;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>pv_printf($var(dst), "$rU@$rd");</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(!avp_db_query("insert into prp_acalls (callid,agent,ag_profile,client,account,profile,dest_addr,start_time,plan,time_unit,rate) values ('$ci',$var(ppagent),$avp(i:425),'$var(ppclient)','$var(ppaccount)',$avp(i:434),'$var(dst)',$Ts,'$avp(i:421)',$avp(i:426),$avp(i:427))"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("insert into hanitest (hclient,hs)values('$var(ppclient)','haniroute 20erro3')");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if (issflagset(9)){</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">                        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                                        </span>t_reply("403","Not allowed - no storage");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font
 class="Apple-style-span" face="arial" size="2">                </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>}</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">                </font></span></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$avp(i:431) = $var(tu);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>setflag(9);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(isflagset(5)){</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>fix_nated_sdp("1");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($rU!="5566"){</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$rU = "APP_PREPAID";</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">                </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>}</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("insert into hanitest (hclient,hs)values('$var(ppclient)','haniroute 20 ready for 22')");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>route(22);</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">route[21] {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("select agent,ag_profile,client,account,profile,dest_addr,start_time,plan,time_unit,rate from prp_acalls where callid='$ci'",</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>"$avp(i:433),$avp(i:425),$avp(i:432),$avp(i:428),$avp(i:434),$avp(i:430),$avp(i:429),$avp(i:421),$avp(i:426),$avp(i:427)");</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(!is_avp_set("$avp(i:428)"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>return(1);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(dur) = $Ts - $avp(i:429);</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">        </span># cost 0 for calls below 10 secs</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($var(dur) &lt; 10 ){</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>$var(dur) =0;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(tu) = $var(dur)/$avp(i:426);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(bd) =
 $var(tu)*$avp(i:426);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($var(bd)!=$var(dur))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$var(tu) = $var(tu) + 1;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(cost) = $var(tu) * $avp(i:427);</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("insert into prp_cdrs (client,account,dest_addr,start_time,end_time,plan,cost,callid) values
 ('$avp(i:432)','$avp(i:428)','$avp(i:430)',$avp(i:429),$Ts,'$avp(i:421)',$var(cost),'$ci')");</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span># check if account is PostPaid</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($avp(i:434)&gt;1){</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("update prp_accounts set credit=credit-$var(cost) where client='$avp(i:432)'");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><span class="Apple-tab-span" style="white-space:pre">        </span># add consumed credit</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("update prp_accounts set consumed_credit=consumed_credit+$var(cost) where client='$avp(i:432)'");</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span># check agent profile</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($avp(i:425)&lt;401){</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("update prp_agent set
 ag_credit=ag_credit-$var(cost),ag_consumed_credit=ag_consumed_credit+$var(cost) where agent='$avp(i:433)'");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("delete from prp_acalls where callid='$ci'");</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">route[23] {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(!is_avp_set("$avp(i:321)"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">
        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if (issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>t_reply("403","Not allowed");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>else</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply("403", "Not allowed");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><span class="Apple-tab-span"
 style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(ppaccount) = $avp(i:321);</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("select count(*) from prp_acalls where account='$var(ppaccount)'","$avp(i:1)");</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span># Select client group for each susid</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">        </span>avp_db_query("select client_name from subscriber where subsid='$var(ppaccount)'","$avp(i:420)");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(ppclient) = $avp(i:420);</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">                                </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($rU=="202")</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>append_hf("P-UID: $var(ppclient)\r\n");</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if(isflagset(5))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>fix_nated_sdp("1");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>$rU = "APP_VOUCHERS";</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>route(22);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($avp(i:1)&gt;0)</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if (issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>t_reply("403","Not allowed - active calls");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>else</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply("403", "Not allowed - active
 calls");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$avp(i:1) = null;</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span># modified to read credit of the client group</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("select credit from prp_accounts where
 client='$var(ppclient)'","$avp(i:423)");</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(!is_avp_set("$avp(i:423)"))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if (issflagset(9))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>t_reply("403","Not allowed - no account");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>else</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>sl_send_reply("403", "Not allowed - no account");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="arial" size="2">        </font></span></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(euro) = $avp(i:423)/1000000;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$var(cent) = ($avp(i:423)%1000000)/10000;</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>append_hf("P-Credit: $var(euro).$var(cent)\r\n");</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(isflagset(5))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>fix_nated_sdp("1");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>$rU = "APP_SAYCREDIT";</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>route(22);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>exit;</font></div><div><font
 class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">route[24]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>avp_db_query("delete from prp_acalls where start_time&lt;$Ts-7210");</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">branch_route[1] {</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (isflagset(5)) {</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>setbflag(7);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if (isbflagset(6)) {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>route(2);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial"
 size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">failure_route[1]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span># only INVITEs here</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if ( isbflagset(6) &amp;&amp; !isflagset(5) )</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>unforce_rtp_proxy();</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>resetbflag(7);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (t_was_cancelled())</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>t_reply("487","Request cancelled");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font
 class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if($avp(i:361)==null)</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>resetbflag(6);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>setsflag(9);</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span"
 face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span># Redirect to voicemail ... ?!?!</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">failure_route[2] {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (t_was_cancelled())</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>avp_db_query("delete from prp_acalls where callid='$ci'");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        
        </span>t_reply("487","Request cancelled");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>setsflag(9);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if(next_gw()) {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>pv_printf($var(dst), "$rU@$rd");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">                </span>$rU = "APP_PREPAID";</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>route(22);</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>avp_db_query("delete from prp_acalls where callid='$ci'");</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">onreply_route[1]</font></div><div><font class="Apple-style-span" face="arial"
 size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if ( isbflagset(7) &amp;&amp; status=~"(18[03])|(2[0-9][0-9])"</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>&amp;&amp; $hdr(Content-Type) =~ "application/sdp" )</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>if (nat_uac_test("8")) {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>force_rtp_proxy("co");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        
        </span>} else {</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                        </span>force_rtp_proxy("cor");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>if (isbflagset(6))</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        
        </span>search_append('Contact:.*sip:[^&gt;[:cntrl:]]*', ';nty=yes');</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>fix_nated_contact();</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>exit;</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">onreply_route[2]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span
 class="Apple-tab-span" style="white-space:pre">        </span>if ( status=~"2[0-9][0-9]" )</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">                </span>avp_db_query("update prp_acalls set start_time=$Ts where callid='$ci'");</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div><font class="Apple-style-span" face="arial" size="2">branch_route[2]</font></div><div><font class="Apple-style-span" face="arial" size="2">{</font></div><div><font class="Apple-style-span" face="arial" size="2"><span class="Apple-tab-span"
 style="white-space:pre">        </span>append_hf("P-PInfo: $avp(i:321),$avp(i:431),$var(dst)\r\n");</font></div><div><font class="Apple-style-span" face="arial" size="2">}</font></div><div><font class="Apple-style-span" face="arial" size="2"><br></font></div><div style="font-family: arial; font-size: 10pt; "><br></div><br><font class="Apple-style-span" face="arial" size="2">--- </font><b style="font-family: arial; font-size: 10pt; ">Mer 18/5/11, Klaus Darilion <i>&lt;klaus.mailinglists@pernau.at&gt;</i></b><font class="Apple-style-span" face="arial" size="2"> ha scritto:</font><br><blockquote style="font-family: arial; font-size: 10pt; border-left-width: 2px; border-left-style: solid; border-left-color: rgb(16, 16, 255); margin-left: 5px; padding-left: 5px; "><br>Da: Klaus Darilion &lt;klaus.mailinglists@pernau.at&gt;<br>Oggetto: Re: [SR-Users] 403 Proxy forbidden replay for invite that send sip gateway<br>A: sr-users@lists.sip-router.org<br>Data: Mercoledì
 18 maggio 2011, 13:04<br><br><div class="plainMail">Check your config and verify where 403 is sent. You have something like<br><br>sl_send_reply("403","Proxy forbidden") in your config.<br><br>regards<br>Klaus<br><br>Am 18.05.2011 10:48, schrieb hala alramli:<br>&gt; Hello every body,<br>&gt; could you help me ?<br>&gt; <br>&gt; i bought Geographical DID numbers from gateway provider ,&nbsp; to&nbsp; receive<br>&gt; calls from pstn&nbsp;&nbsp;&nbsp;<br>&gt; <br>&gt; my problem that when gateway send invite my proxy send 403 forbidden ,i<br>&gt; dont know why what is wrong ,any help please.<br>&gt; <br>&gt; this is a track for th gateway invite.<br>&gt; <br>&gt; my proxy ip:79.12.254.153<br>&gt; gateway IP :77.239.128.10<br>&gt; my geographical number :0698962030<br>&gt; <br>&gt; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt; INVITE sip:0698962030@79.12.254.153:5060;user=phone SIP/2.0<br>&gt; <br>&gt; Via: SIP/2.0/UDP
 77.239.128.10:5060;branch=z9hG4bKf89p48m8dkuco1tumbnfaemc44<br>&gt; <br>&gt; From:<br>&gt; &lt;sip:0289089500@10.39.1.16:5060;user=phone&gt;;tag=SDml08d01--45026-1f4d3a5-203bbf09-1f4d3a5<br>&gt; <br>&gt; To: &lt;sip:0698962030@10.39.6.207:5060;user=phone&gt;<br>&gt; <br>&gt; Call-ID: SDml08d01-daae53b1c06b7367e53d68ad67a63d13-ao92061<br>&gt; <br>&gt; CSeq: 1 INVITE<br>&gt; <br>&gt; User-Agent: CS2000_NGSS/8.0<br>&gt; <br>&gt; Remote-Party-ID: &lt;sip:0289089500@10.39.1.16;user=phone&gt;; party=calling;<br>&gt; privacy=off; screen=yes<br>&gt; <br>&gt; Allow: ACK,BYE,CANCEL,INVITE,OPTIONS,INFO,SUBSCRIBE,REFER,NOTIFY,PRACK<br>&gt; <br>&gt; P-Asserted-Identity: &lt;sip:0289089500@10.39.1.16;user=phone&gt;<br>&gt; <br>&gt; Max-Forwards: 69<br>&gt; <br>&gt; Contact: &lt;sip:77.239.128.10:5060;transport=UDP&gt;<br>&gt; <br>&gt; Supported: 100rel<br>&gt; <br>&gt; Content-Type: application/sdp<br>&gt; <br>&gt; Content-Length: 236<br>&gt; <br>&gt;&nbsp; <br>&gt;
 <br>&gt; v=0<br>&gt; <br>&gt; o=PVG 1305215180830 1305215180830 IN IP4 77.239.128.10<br>&gt; <br>&gt; s=-<br>&gt; <br>&gt; p=+1 6135555555<br>&gt; <br>&gt; c=IN IP4 77.239.128.10<br>&gt; <br>&gt; t=0 0<br>&gt; <br>&gt; m=audio 49264 RTP/AVP 18 8 0 13 101<br>&gt; <br>&gt; a=rtpmap:101 telephone-event/8000<br>&gt; <br>&gt; a=fmtp:101 0-15<br>&gt; <br>&gt; a=ptime:20<br>&gt; <br>&gt; a=fmtp:18 annexb=no<br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt; SIP/2.0 403 Proxy forbidden<br>&gt; <br>&gt; Via: SIP/2.0/UDP<br>&gt; 77.239.128.10:5060;branch=z9hG4bKf89p48m8dkuco1tumbnfaemc44;rport=5060;received=77.239.128.10<br>&gt; <br>&gt; From:<br>&gt; &lt;sip:0289089500@10.39.1.16:5060;user=phone&gt;;tag=SDml08d01--45026-1f4d3a5-203bbf09-1f4d3a5<br>&gt; <br>&gt; To:<br>&gt; &lt;sip:0698962030@10.39.6.207:5060;user=phone&gt;;tag=4471d251144740103ef2d5e5631bdc66.799c<br>&gt; <br>&gt; Call-ID:
 SDml08d01-daae53b1c06b7367e53d68ad67a63d13-ao92061<br>&gt; <br>&gt; CSeq: 1 INVITE<br>&gt; <br>&gt; Server: Kamailio (1.4.4-notls (x86_64/linux))<br>&gt; <br>&gt; Content-Length: 0<br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt; ACK sip:0698962030@79.12.254.153:5060;user=phone SIP/2.0<br>&gt; <br>&gt; Via: SIP/2.0/UDP<br>&gt; 77.239.128.10:5060;branch=z9hG4bKf89p48m8dkuco1tumbnfaemc44;rport=5060;received=77.239.128.10<br>&gt; <br>&gt; From:<br>&gt; &lt;sip:0289089500@10.39.1.16:5060;user=phone&gt;;tag=SDml08d01--45026-1f4d3a5-203bbf09-1f4d3a5<br>&gt; <br>&gt; To:<br>&gt; &lt;sip:0698962030@10.39.6.207:5060;user=phone&gt;;tag=4471d251144740103ef2d5e5631bdc66.799c<br>&gt; <br>&gt; Call-ID: SDml08d01-daae53b1c06b7367e53d68ad67a63d13-ao92061<br>&gt;
 <br>&gt; CSeq: 1 ACK<br>&gt; <br>&gt; Max-Forwards: 69<br>&gt; <br>&gt; Content-Length: 0<br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt; INVITE sip:0698962030@79.12.254.153:5060;user=phone SIP/2.0<br>&gt; <br>&gt; Via: SIP/2.0/UDP 77.239.128.10:5060;branch=z9hG4bK4t5g11q75ccl8k5vnbgabnlct2<br>&gt; <br>&gt; From:<br>&gt; &lt;sip:026683011@10.39.1.16:5060;user=phone&gt;;tag=SDa7sn401--45026-1f4d3ad-69943699-1f4d3ad<br>&gt; <br>&gt; To: &lt;sip:0698962030@10.39.6.207:5060;user=phone&gt;<br>&gt; <br>&gt; Call-ID: SDa7sn401-c505e58e02da5e4449475a8d28dbcb07-ao92061<br>&gt; <br>&gt; CSeq: 1 INVITE<br>&gt; <br>&gt; User-Agent: CS2000_NGSS/8.0<br>&gt; <br>&gt; Remote-Party-ID: &lt;sip:026683011@10.39.1.16;user=phone&gt;; party=calling;<br>&gt; privacy=off; screen=yes<br>&gt; <br>&gt; Allow: ACK,BYE,CANCEL,INVITE,OPTIONS,INFO,SUBSCRIBE,REFER,NOTIFY,PRACK<br>&gt; <br>&gt; P-Asserted-Identity:
 &lt;sip:026683011@10.39.1.16;user=phone&gt;<br>&gt; <br>&gt; Max-Forwards: 69<br>&gt; <br>&gt; Contact: &lt;sip:77.239.128.10:5060;transport=UDP&gt;<br>&gt; <br>&gt; Supported: 100rel<br>&gt; <br>&gt; Content-Type: application/sdp<br>&gt; <br>&gt; Content-Length: 236<br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt; v=0<br>&gt; <br>&gt; o=PVG 1305215458700 1305215458700 IN IP4 77.239.128.10<br>&gt; <br>&gt; s=-<br>&gt; <br>&gt; p=+1 6135555555<br>&gt; <br>&gt; c=IN IP4 77.239.128.10<br>&gt; <br>&gt; t=0 0<br>&gt; <br>&gt; m=audio 41892 RTP/AVP 18 8 0 13 101<br>&gt; <br>&gt; a=rtpmap:101 telephone-event/8000<br>&gt; <br>&gt; a=fmtp:101 0-15<br>&gt; <br>&gt; a=ptime:20<br>&gt; <br>&gt; a=fmtp:18 annexb=no<br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt; SIP/2.0 403 Proxy forbidden<br>&gt; <br>&gt; Via: SIP/2.0/UDP<br>&gt; 77.239.128.10:5060;branch=z9hG4bK4t5g11q75ccl8k5vnbgabnlct2;rport=5060;received=77.239.128.10<br>&gt;
 <br>&gt; From:<br>&gt; &lt;sip:026683011@10.39.1.16:5060;user=phone&gt;;tag=SDa7sn401--45026-1f4d3ad-69943699-1f4d3ad<br>&gt; <br>&gt; To:<br>&gt; &lt;sip:0698962030@10.39.6.207:5060;user=phone&gt;;tag=4471d251144740103ef2d5e5631bdc66.fe6e<br>&gt; <br>&gt; Call-ID: SDa7sn401-c505e58e02da5e4449475a8d28dbcb07-ao92061<br>&gt; <br>&gt; CSeq: 1 INVITE<br>&gt; <br>&gt; Server: Kamailio (1.4.4-notls (x86_64/linux))<br>&gt; <br>&gt; Content-Length: 0<br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt; sip:0698962030@79.12.254.153:5060;user=phone SIP/2.0<br>&gt; <br>&gt; Via: SIP/2.0/UDP<br>&gt; 77.239.128.10:5060;branch=z9hG4bK4t5g11q75ccl8k5vnbgabnlct2;rport=5060;received=77.239.128.10<br>&gt; <br>&gt; From:<br>&gt;
 &lt;sip:026683011@10.39.1.16:5060;user=phone&gt;;tag=SDa7sn401--45026-1f4d3ad-69943699-1f4d3ad<br>&gt; <br>&gt; To:<br>&gt; &lt;sip:0698962030@10.39.6.207:5060;user=phone&gt;;tag=4471d251144740103ef2d5e5631bdc66.fe6e<br>&gt; <br>&gt; Call-ID: SDa7sn401-c505e58e02da5e4449475a8d28dbcb07-ao92061<br>&gt; <br>&gt; CSeq: 1 ACK<br>&gt; <br>&gt; Max-Forwards: 69<br>&gt; <br>&gt; Content-Length: 0<br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt;&nbsp; <br>&gt; <br>&gt; <br>&gt; <br>&gt; _______________________________________________<br>&gt; SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<br>&gt; <a ymailto="mailto:sr-users@lists.sip-router.org" href="/mc/compose?to=sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a><br>&gt; <a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users"
 target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br><br>_______________________________________________<br>SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<br><a ymailto="mailto:sr-users@lists.sip-router.org" href="/mc/compose?to=sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a><br><a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br></div></blockquote></td></tr></table>