<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Hello,<br>
<br>
r-uri in initial request has nothing to do with record-route
headers.<br>
<br>
You just have to us ds_select_domain(...) function from dispatcher
module instead of ds_select_dst(...).<br>
<br>
Cheers,<br>
Daniel<br>
<br>
<div class="moz-cite-prefix">On 6/7/13 11:03 PM, julian arsanches
wrote:<br>
</div>
<blockquote
cite="mid:CAG0Kfxtuy28q-TS+kw7F_CfXO5fxXmx1+Gy_Y6_2x0M9zWdGKg@mail.gmail.com"
type="cite">
<div dir="ltr">If anyone can help me on this one thanks before
hand, i have a setup on kamilio and everything has been working
fine, i need to interface with a huge carrier and they don't
like the way kamailio sends the invites so i need to implement
stric routing .
<div>
<br>
</div>
<div style="">now when kamailio sends an invite it goes like</div>
<div style="">
<div style=""> +0.000140 Kamailio:5060 -> CarrierIP:5060</div>
<div>INVITE <a class="moz-txt-link-freetext" href="sip:XXXXXX@Kamailio">sip:XXXXXX@Kamailio</a> IP SIP/2.0.</div>
<div>
<p class=""><span style="color:rgb(31,73,125)">Record-Route:
<<a moz-do-not-send="true"
href="sip:54.236.192.19;lr=on;ftag=as4640f260">sip:Kamailio
IP;lr=on;ftag=as4640f260</a>>.</span></p>
<p class=""><span style="color:rgb(31,73,125)">Via:
SIP/2.0/UDP
Kamailio IP:5060;branch=z9hG4bK9156.eeb6fbf7.0.</span></p>
<p class=""><span style="color:rgb(31,73,125)">Via:
SIP/2.0/UDP
Kamailio IP:5060;branch=z9hG4bK7aeceb75;rport=5060.</span></p>
<p class=""><span style="color:rgb(31,73,125)">Max-Forwards:
16.</span></p>
<p class=""><span style="color:rgb(31,73,125)">To: <a
moz-do-not-send="true"
href="sip:85630573108863792@54.236.192.19@54.236.192.19">sip:XXXXXX@KAMAILIO
IP@54.236.192.19</a>.</span></p>
<p class=""><br>
</p>
<p class="" style=""><font color="#1f497d">and they wanted
to receive it like this </font></p>
<p class=""><font color="#1f497d">INVITE <a class="moz-txt-link-freetext" href="sip:XXXXXX@CARRIER">sip:XXXXXX@CARRIER</a>
IP;user=phone SIP/2.0.</font></p>
<p class=""><font color="#1f497d">Via: SIP/2.0/UDP KAMAILIO
IP:5062;</font></p>
<p class=""><font color="#1f497d">From:
<a class="moz-txt-link-rfc2396E" href="sip:XXXXXX@KAMAILIOIP:5060;user=phone"><sip:XXXXXX@KAMAILIO
IP:5060;user=phone></a>;tag=514594693-3792808143-4087363760-57672641.</font></p>
<p class=""><font color="#1f497d">To:
<a class="moz-txt-link-rfc2396E" href="sip:XXXXXXXX@CARRIERIP;user=phone"><sip:XXXXXXXX@CARRIERIP;user=phone></a>.</font></p>
<p class=""><font color="#1f497d">Call-ID: <a
moz-do-not-send="true"
href="mailto:8517ac46cfa811e2b038a0f3c1037003@204.2.202.12">8517ac46cfa811e2b038a0f3c1037003@204.2.202.12</a>.</font></p>
<p class="">
<font color="#1f497d">CSeq: 1 INVITE.</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class="" style=""><font color="#1f497d">I dont know how
to achieve this in kamailio, i am working fine with
several carriers using loose routing</font></p>
<p class="" style=""><font color="#1f497d"><br>
</font></p>
<p class="" style=""><font color="#1f497d">here is my config
any help is greatly apreciated</font></p>
<p class=""><font color="#1f497d">debug=4</font></p>
<p class=""><font color="#1f497d">log_stderror=yes</font></p>
<p class=""><font color="#1f497d">#!else</font></p>
<p class=""><font color="#1f497d">#debug=2</font></p>
<p class=""><font color="#1f497d">#log_stderror=yes</font></p>
<p class=""><font color="#1f497d">#!endif</font></p>
<p class="">
<font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">memdbg=5</font></p>
<p class=""><font color="#1f497d">memlog=5</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">log_facility=LOG_LOCAL7</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">fork=yes</font></p>
<p class=""><font color="#1f497d">children=6</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">auto_aliases=no</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">#listen=<a class="moz-txt-link-freetext" href="udp:KAMAILIO">udp:KAMAILIO</a> IP</font></p>
<p class=""><font color="#1f497d">listen=<a class="moz-txt-link-freetext" href="udp:KAMAILIO">udp:KAMAILIO</a>
IP:5060 advertise EXTERNALIP:5060</font></p>
<p class="">
<font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">port=5060</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">enable_tls=no</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">#tcp_connection_lifetime=3605</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">#!ifdef WITH_SRCPATH</font></p>
<p class=""><font color="#1f497d">mpath="modules_k:modules"</font></p>
<p class=""><font color="#1f497d">#!else</font></p>
<p class=""><font color="#1f497d">mpath="/usr/lib64/kamailio/modules_k/:/usr/lib64/kamailio/modules/"</font></p>
<p class=""><font color="#1f497d">#path="/usr/lib64/kamailio/modules_k/:/usr/lib64/kamailio/modules/"</font></p>
<p class=""><font color="#1f497d">oadmodule "db_mysql.so"</font></p>
<p class=""><font color="#1f497d">loadmodule "tm.so"</font></p>
<p class=""><font color="#1f497d">loadmodule "sl.so"</font></p>
<p class=""><font color="#1f497d">loadmodule "acc.so"</font></p>
<p class=""><font color="#1f497d">loadmodule "rr.so"</font></p>
<p class="">
<font color="#1f497d">loadmodule "maxfwd.so"</font></p>
<p class=""><font color="#1f497d">loadmodule "textops.so"</font></p>
<p class=""><font color="#1f497d">loadmodule "pv.so"</font></p>
<p class="">
<font color="#1f497d">loadmodule "dispatcher.so"</font></p>
<p class=""><font color="#1f497d">loadmodule "usrloc.so"</font></p>
<p class=""><font color="#1f497d">loadmodule "registrar.so"</font></p>
<p class=""><font color="#1f497d">loadmodule "siputils.so"</font></p>
<p class=""><font color="#1f497d">loadmodule "sanity.so"</font></p>
<p class=""><font color="#1f497d">loadmodule "ctl.so"</font></p>
<p class=""><font color="#1f497d">loadmodule "mi_rpc.so"</font></p>
<p class=""><font color="#1f497d">loadmodule "avpops.so"</font></p>
<p class=""><font color="#1f497d">#!ifdef WITH_NAT</font></p>
<p class="">
<font color="#1f497d">loadmodule "nathelper.so"</font></p>
<p class=""><font color="#1f497d">loadmodule "rtpproxy.so"</font></p>
<p class=""><font color="#1f497d">#!endif</font></p>
<p class=""><font color="#1f497d">loadmodule "xlog.so"</font></p>
<p class=""><font color="#1f497d">#mysqlcdr</font></p>
<p class=""><font color="#1f497d">modparam("acc", "db_flag",
2)</font></p>
<p class=""><font color="#1f497d">modparam("acc",
"db_missed_flag", 3)</font></p>
<p class=""><font color="#1f497d">modparam("acc", "db_url",
"mysql://some mysql server/openser")</font></p>
<p class=""><font color="#1f497d">modparam("acc",
"db_extra", "some credentials" )</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">#loadmodule "carrierroute"</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">modparam("tm",
"failure_reply_mode", 3)</font></p>
<p class=""><font color="#1f497d">modparam("tm", "fr_timer",
30000)</font></p>
<p class=""><font color="#1f497d">modparam("tm",
"fr_inv_timer", 120000)</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">modparam("dispatcher",
"list_file", "/etc/kamailio/dispatcher.lst")</font></p>
<p class=""><font color="#1f497d">modparam("rr",
"enable_full_lr", 1)</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">!ifdef WITH_NAT</font></p>
<p class=""><font color="#1f497d"># ----- rtpproxy params
-----</font></p>
<p class=""><font color="#1f497d">modparam("rtpproxy",
"rtpproxy_sock", "udp:<a moz-do-not-send="true"
href="http://127.0.0.1:7722">127.0.0.1:7722</a>")</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d"># ----- nathelper params
-----</font></p>
<p class=""><font color="#1f497d">modparam("nathelper",
"natping_interval", 30)</font></p>
<p class=""><font color="#1f497d">modparam("nathelper",
"ping_nated_only", 1)</font></p>
<p class=""><font color="#1f497d">modparam("nathelper",
"sipping_bflag", FLB_NATSIPPING)</font></p>
<p class=""><font color="#1f497d">modparam("nathelper",
"sipping_from", "<a moz-do-not-send="true"
href="mailto:sip%3Apinger@kamailio.org">sip:pinger@kamailio.org</a>")</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d"># params needed for NAT
traversal in other modules</font></p>
<p class=""><font color="#1f497d">modparam("nathelper|registrar",
"received_avp", "$avp(RECEIVED)")</font></p>
<p class=""><font color="#1f497d">modparam("usrloc",
"nat_bflag", FLB_NATB)</font></p>
<p class=""><font color="#1f497d">#!endif</font></p>
<p class=""><font color="#1f497d">modparam("xlog",
"buf_size", 8192)</font></p>
<p class=""><font color="#1f497d">modparam("xlog",
"force_color", 1)</font></p>
<p class=""><font color="#1f497d">#carrierroute</font></p>
<p class=""><font color="#1f497d">#modparam("carrierroute",
"config_file", "/etc/kamailio/carrierroute.conf")</font></p>
<p class=""><font color="#1f497d">#end carrierroute</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">modparam("pv", "shvset",
"ruta=s:$ru")</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d"> </font></p>
<p class=""><font color="#1f497d">request_route {</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d"> if
(!mf_process_maxfwd_header("10")) {</font></p>
<p class=""><font color="#1f497d">
sl_send_reply("483","Too Many Hops");</font></p>
<p class=""><font color="#1f497d"> exit;</font></p>
<p class=""><font color="#1f497d"> }</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">#</font></p>
<p class=""><font color="#1f497d">
if(is_method("OPTIONS")) {</font></p>
<p class=""><font color="#1f497d"> # send reply
for each options request</font></p>
<p class=""><font color="#1f497d">
sl_send_reply("200", "ok");</font></p>
<p class=""><font color="#1f497d"> exit();</font></p>
<p class=""><font color="#1f497d"> }</font></p>
<p class=""><font color="#1f497d">#</font></p>
<p class=""><font color="#1f497d"> if(method=="BYE") {</font></p>
<p class=""><font color="#1f497d"> #Account BYE
transactions</font></p>
<p class=""><font color="#1f497d">setflag(2);</font></p>
<p class=""><font color="#1f497d">};</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">#CANCEL processing</font></p>
<p class=""><font color="#1f497d">if (method=="CANCEL") {</font></p>
<p class=""><font color="#1f497d">setflag(2);</font></p>
<p class=""><font color="#1f497d">if (t_check_trans())
t_relay();</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">exit;</font></p>
<p class=""><font color="#1f497d">};</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">#</font></p>
<p class=""><font color="#1f497d"> if (loose_route())
{</font></p>
<p class="">
<font color="#1f497d">
if(method=="BYE") {</font></p>
<p class=""><font color="#1f497d"> #Account BYE
transactions</font></p>
<p class=""><font color="#1f497d">setflag(2);</font></p>
<p class="">
<font color="#1f497d">};</font></p>
<p class=""><font color="#1f497d">##CANCEL processing</font></p>
<p class=""><font color="#1f497d">if (method=="CANCEL") {</font></p>
<p class=""><font color="#1f497d">setflag(3);</font></p>
<p class=""><font color="#1f497d">if (t_check_trans())
t_relay();</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">exit;</font></p>
<p class=""><font color="#1f497d">};</font></p>
<p class=""><font color="#1f497d"> if
(!t_relay()) {</font></p>
<p class=""><font color="#1f497d">
sl_reply_error();</font></p>
<p class=""><font color="#1f497d"> }</font></p>
<p class=""><font color="#1f497d"> exit;</font></p>
<p class=""><font color="#1f497d"> }</font></p>
<p class=""><font color="#1f497d"><span class=""
style="white-space:pre"> </span> if
(is_method("INVITE")) {</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d"> # Account INVITE
packets</font></p>
<p class=""><font color="#1f497d">setflag(2);</font></p>
<p class=""><font color="#1f497d"># Account Missed calls</font></p>
<p class=""><font color="#1f497d">setflag(3);</font></p>
<p class=""><font color="#1f497d">
record_route();</font></p>
<p class=""><font color="#1f497d"> </font></p>
<p class=""><font color="#1f497d"> }</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">#removed 1 from string</font></p>
<p class=""><font color="#1f497d">#(ai{s.substr,4,0});</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">xlog("before strip,<
time [$Tf] > Aip= $src_ip, r-uri($ru\n");</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">#MYvariables</font></p>
<p class=""><font color="#1f497d">$var(x) = $ru;</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class="">
<font color="#1f497d">$var(y)=$(var(x){s.substr,4,3});</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">$var(z)=$(var(y){<a
moz-do-not-send="true" href="http://s.int">s.int</a>});</font></p>
<p class="">
<font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">$var(t)=$(var(x){s.substr,7,0});</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class="">
<font color="#1f497d">xlog("dsroute
$var(z)fullruri($ru)\n");</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">xlog(">>>>>>>>>>>>>>>>>la
header TO
$var(t)----------fullruri($ru)<<<<<<<<<<<<<<<<<<\n");</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">xlog("all---$Tf,$ct,$cs,<$cs>,callid-$ci,$re,$du,$rt,$ru,$si,$sp,$ua,$rm,$rs,$fn,$fd,$fu,$fU
");</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">strip(3);</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">xlog("after strip time
[$Tf] method ($rm) via el code ($var(z)-- ($var(y))\n");</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">ds_select_dst("$var(z)",
"4");#carrer dynamic</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">#ds_select_dst("103",
"4");#to change static carrier</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">xlog("print el destination
y el $var(z) ($du)>>($td)>>> ($ru)\n");</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">xlog("errors---$<a
moz-do-not-send="true" href="http://err.info">err.info</a>,$err.rcode,$err.rreason,$rc,$rc,$rc,$rr,--end
errors ");</font></p>
<p class="">
<font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">#remove_hf("To") ;</font></p>
<p class=""><font color="#1f497d">#$insert_hf("To:
<a class="moz-txt-link-freetext" href="sip:$var(t)@$rd\r\n">sip:$var(t)@$rd\r\n</a>", "From"); # trying to change to
header</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d"> #if (!forward()){; #if
forwarding</font></p>
<p class=""><font color="#1f497d"> # if(!t_relay()){;</font></p>
<p class=""><font color="#1f497d"> if
(!t_relay_to_udp()) {#proxing</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">sl_reply_error();</font></p>
<p class=""><font color="#1f497d">exit;</font></p>
<p class=""><font color="#1f497d">};</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d">}</font></p>
<p class=""><font color="#1f497d"><br>
</font></p>
<p class=""><font color="#1f497d"><span class=""
style="white-space:pre"> </span> </font></p>
</div>
<div><br>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a>
<a class="moz-txt-link-freetext" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Daniel-Constantin Mierla - <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a>
<a class="moz-txt-link-freetext" href="http://twitter.com/#!/miconda">http://twitter.com/#!/miconda</a> - <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a>
Kamailio Advanced Training, San Francisco, USA - June 24-27, 2013
* <a class="moz-txt-link-freetext" href="http://asipto.com/u/katu">http://asipto.com/u/katu</a> *</pre>
</body>
</html>