Daniel, Klaus thanks a lot for your responses i do appreciate them,
just got me a bit confuse because on the documents as what Daniel
suggest to advertise directive for listen parameter, I do if you see
my config below that i advertise it and have an alias, kamailio still
sends an invite to itself without recognizing that it came from the
internal ip.


Is there anything else wrong that i am not putting on my advertise line ?

thanks i really apreciate your input.

Julian.

*listen=udp:1.1.1.1:5060 advertise 2.2.2.2:5060*>>* *>>**>>*
alias=1.1.1.1:5060 <http://1.1.1.1:5060>*>>* alias=1.1.1.1*>>*
alias=2.2.2.2:5060 <http://2.2.2.2:5060>*>>* alias=2.2.2.2*

>Hello,
>
>for reference, in case kamailio is running behind nat, like on AWS, one
>should just use advertise directive for listen parameter, like:>
>
>listen=proto:privateip:port advertise publicip:port>
>
>
>See:
>
>http://www.kamailio.org/wiki/cookbooks/4.0.x/core#listen
>
>It simplifies the config by not needing to use alias parameter,
>advertised_address/set_addvertised_address() and record_route_preset().>
>
>Cheers,
>Daniel
>
>On 10/18/13 8:23 AM, Klaus Darilion wrote:
>**>**>* On 17.10.2013 17:31, julian arsanches wrote:*>>* Hi all, before hand 
>thanks for all the support received on this channel.*>>**>>* I have an issue 
>with an installed server on a aws instance which is*>>* giving me routing 
>loops, my setup is simple, i have alias set for both*>>* ips internal and 
>external and the loop still present when t_relay don't*>>* find any routes to 
>relay it just sent it to  itself with the public ip*>>* then the loop 
>starts.*>>**>>* can any one please advise how can i prevent that or just tell 
>t_relay*>>* that if there is no more routes just respond with a cancel or 
>stop*>>* searching.*>**>* If you call t_relay, then the message will be 
>forwarded to $ru (or to *>* $du if $du is set). t_relay itself does not have 
>any logic inside.*>**>* Thus, if you do not want a message to be forwarded, 
>then you must not *>* call t_relay.*>**>* If you do not want to send a message 
>to a certain destination, then *>* set $ru (the domain part) to the respective 
>destination.*>**>* One issue may be the aliases. If Kamailio thinks that it is 
>not *>* authoritative for a domain, then it forwards the message to the *>* 
>domain. Kamailio by default feels authoritative for the IP addresses *>* on 
>which it listens (the private IP addresses). Thus if a request is *>* received 
>by Kamailio, but the RURI (request URI, $ru) indicated the *>* public IP 
>address, KAmailio by default forwards the message to the *>* respective RURI 
>(which my be forward again by AWS NAT to Kamailio).*>**>* Thus, 
>alias=public.ip.addr.ess must be added to the config.*>**>* If there are still 
>problems you have set debug=4 and track in the log *>* file how the message is 
>processed, and where the routing decision *>* takes the wrong direction.*>**>* 
>regards*>* Klaus*>**>>**>>* same thing happens when a gw code is not found on 
>the dispatcher list *>>* file.*>>**>>* as i had read by just specifying the 
>alias=domain it should take care of*>>* it but it is not happening perhaps 
>because it is a AWS instance, or most*>>* likely i am missing something after 
>the T_relay to stop the call from*>>* looping.*>>**>>* I do have several 
>headers fix because i have an asterisk sending calls*>>* with lots of 
>signalling calls added to the call that i need to remove*>>* before the call 
>is passed out to a carrier or another UA, Kamailio is*>>* just proxing the 
>calls between asterisk and the outside world no Media*>>* handling, No 
>registrations.*>>**>>*   Again thanks for any tips to find my answer or if 
>anyone had a similar*>>* issue thanks again.*>>**>>* thanks for any help 
>.*>>**>>* Julian.*>>**>>* on this setup i have*>>**>>* public ip as 
>2.2.2.2*>>**>>* private IP as 1.1.1.1*>>**>>**>>* #!KAMAILIO*>>* ####### 
>Global Parameters #########*>>**>>* #!ifdef WITH_DEBUG*>>* debug=4*>>* 
>log_stderror=yes*>>* #!else*>>* #debug=2*>>* #log_stderror=yes*>>* 
>#!endif*>>**>>* memdbg=5*>>* memlog=5*>>**>>* log_facility=LOG_LOCAL7*>>**>>* 
>fork=yes*>>* children=6*>>**>>* auto_aliases=no*>>**>>**>>* 
>listen=udp:1.1.1.1:5060 <http://1.1.1.1:5060> advertise 2.2.2.2:5060*>>* 
><http://2.2.2.2:5060>*>>**>>* alias=1.1.1.1:5060 <http://1.1.1.1:5060>*>>* 
>alias=1.1.1.1*>>* alias=2.2.2.2:5060 <http://2.2.2.2:5060>*>>* 
>alias=2.2.2.2*>>**>>**>>* port=5060*>>**>>* enable_tls=no*>>**>>* 
>#tcp_connection_lifetime=3605*>>**>>* #!ifdef WITH_SRCPATH*>>* 
>mpath="modules_k:modules"*>>* #!else*>>* 
>mpath="/usr/lib64/kamailio/modules_k/:/usr/lib64/kamailio/modules/"*>>**>>* 
>#!endif*>>* loadmodule "db_mysql.so"*>>* ##loadmodule "mi_fifo.so"*>>* 
>loadmodule "tm.so"*>>* loadmodule "sl.so"*>>* loadmodule "acc.so"*>>* 
>loadmodule "rr.so"*>>* loadmodule "maxfwd.so"*>>* loadmodule "uac.so"*>>* 
>loadmodule "textops.so"*>>* loadmodule "pv.so"*>>* loadmodule 
>"dispatcher.so"*>>* loadmodule "usrloc.so"*>>* loadmodule "registrar.so"*>>* 
>loadmodule "siputils.so"*>>* loadmodule "sanity.so"*>>* loadmodule 
>"ctl.so"*>>* loadmodule "mi_rpc.so"*>>* loadmodule "avpops.so"*>>* #!ifdef 
>WITH_NAT*>>* loadmodule "nathelper.so"*>>* loadmodule "rtpproxy.so"*>>* 
>#!endif*>>* loadmodule "xlog.so"*>>* ##mysqlcdr*>>* modparam("acc", "db_flag", 
>2)*>>* modparam("acc", "db_missed_flag", 3)*>>* modparam("acc", 
>"report_cancels", 1)*>>* modparam("acc", "db_url", 
>"mysql://openser:password@1.1.1.2/openser*>>* 
><http://openser:password@1.1.1.2/openser>")*>>* modparam("acc", "db_extra", 
>"from_uri=$fu; to_uri=$tu; intid=$fU;*>>* type_call=$si; dst_ip=$ru; 
>carriercode=$tu;callmode=$var(out)" )*>>**>>* #loadmodule "carrierroute"*>>* 
>modparam("tm", "cancel_b_method", 1)*>>* modparam("tm", "failure_reply_mode", 
>3)*>>* modparam("tm", "fr_timer", 30000)*>>* modparam("tm", "fr_inv_timer", 
>120000)*>>**>>* modparam("dispatcher", "list_file", 
>"/etc/kamailio/dispatcher.lst")*>>* modparam("rr", "enable_full_lr", 
>1)*>>**>>* #!ifdef WITH_NAT*>>* # ----- rtpproxy params -----*>>* 
>modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722*>>* 
><http://127.0.0.1:7722>")*>>**>>* # ----- nathelper params -----*>>* 
>modparam("nathelper", "natping_interval", 30)*>>* modparam("nathelper", 
>"ping_nated_only", 1)*>>* modparam("nathelper", "sipping_bflag", 
>FLB_NATSIPPING)*>>* modparam("nathelper", "sipping_from", "sip:pinger at 
>kamailio.org 
><http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>*>>* 
><mailto:sip%3Apinger at kamailio.org 
><http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>>")*>>* # ----- 
>mi_fifo params -----*>>**>>* ##modparam("mi_fifo", "fifo_name", 
>"/tmp/kamailio_fifo")*>>**>>* # params needed for NAT traversal in other 
>modules*>>* modparam("nathelper|registrar", "received_avp", 
>"$avp(RECEIVED)")*>>* modparam("usrloc", "nat_bflag", FLB_NATB)*>>* 
>#!endif*>>* modparam("xlog", "buf_size", 8192)*>>* modparam("xlog", 
>"force_color", 1)*>>* #carrierroute*>>* #modparam("carrierroute", 
>"config_file", *>>* "/etc/kamailio/carrierroute.conf")*>>* #end 
>carrierroute*>>**>>* modparam("pv", "shvset", "ruta=s:$ru")*>>* modparam("pv", 
>"varset","in=s:IN")*>>* modparam("pv", "varset","out=s:OUT")*>>* 
>#################BEGINING MAINROUTE##################*>>* request_route 
>{*>>**>>*          if (!mf_process_maxfwd_header("4")) {*>>*                  
>sl_send_reply("483","Too Many Hops");*>>* drop;*>>*                  exit;*>>* 
>         }*>>* ##*>>*   # initial sanity checks -- too long messages*>>*       
>  if (msg:len >=  2048 ) {*>>*                 sl_send_reply("513", "Message 
>too big");*>>* xlog("out header CHECK 513 baderror 
>from_uri=$fu;($ct++)<$tU---=$var(n)>*>>* to_uri=$tu; intid=$fU; type_call=$si; 
>dst_ip=$ru;*>>* carriercode=$var(z);callmode=$var(out)");*>>* drop;*>>*        
>         exit;*>>*         };*>>* #*>>*          if(is_method("OPTIONS")) 
>{*>>*              # send reply for each options request*>>*              
>sl_send_reply("200", "ok");*>>*              exit();*>>*           
>}*>>**>>**>>**>>* #*>>* if ( is_method("ACK") ) {*>>* if ( t_check_trans() ) 
>{*>>* # no loose-route, but stateful ACK;*>>* # must be an ACK after a 487*>>* 
># or e.g. 404 from upstream server*>>* $var(n)=$(tU{s.substr,3,0});*>>* 
>$var(i)=$(ct{re.subst,/^.*11811(.*)/"\1/});*>>**>>* 
>$var(t)=$(fn{re.subst,/^.*11811(.*)/"\1/});*>>**>>* $var(r)=$rd; ##to 
>domain*>>* $fU=$(fU{s.substr,14,0});*>>* $fn=$var(t);*>>* $tU=$var(n);*>>* 
>$td=$var(r);*>>**>>* subst('/^Contact:.*11811(.*)$/Contact: 
><sip:\1\2/ig');*>>**>>* # Remove prefixes numbers from Contact\*>>* 
>t_relay();*>>* exit;*>>* } else {*>>* # ACK without matching transaction ... 
>ignore and discard*>>* $var(n)=$(tU{s.substr,3,0});*>>* 
>$var(i)=$(ct{re.subst,/^.*11811(.*)/"\1/});*>>**>>* 
>$var(t)=$(fn{re.subst,/^.*11811(.*)/"\1/});*>>**>>* $var(r)=$rd; ##to 
>domain*>>* $fU=$(fU{s.substr,14,0});*>>* $fn=$var(t);*>>* $tU=$var(n);*>>* 
>$td=$var(r);*>>**>>* subst('/^Contact:.*11811(.*)$/Contact: 
><sip:\1\2/ig');*>>* t_relay();*>>* exit;*>>* }*>>* }*>>* ##responding to bye 
>requests and modifying headers to match invite*>>*     if(method=="BYE") {*>>* 
>    #Account BYE transactions*>>* #$var(d) = $tu;*>>* 
>#$var(e)=$(var(d){s.substr,4,3});*>>* setflag(2);*>>* setflag(10);*>>* 
>$var(n)=$(tU{s.substr,3,0});*>>* 
>$var(i)=$(ct{re.subst,/^.*11811(.*)/"\1/});*>>**>>* 
>$var(t)=$(fn{re.subst,/^.*11811(.*)/"\1/});*>>**>>* $var(r)=$rd; ##to 
>domain*>>* $fU=$(fU{s.substr,14,0});*>>* $fn=$var(t);*>>* $tU=$var(n);*>>* 
>$td=$var(r);*>>**>>* subst('/^Contact:.*11811(.*)$/Contact: 
><sip:\1\2/ig');*>>* t_relay();*>>*          exit;*>>* };*>>**>>* #CANCEL 
>processing*>>* if (method=="CANCEL") {*>>* setflag(2);*>>* setflag(3);*>>* 
>$var(n)=$(tU{s.substr,3,0});*>>* 
>$var(i)=$(ct{re.subst,/^.*11811(.*)/"\1/});*>>**>>* 
>$var(t)=$(fn{re.subst,/^.*11811(.*)/"\1/});*>>**>>* $var(r)=$rd; ##to 
>domain*>>* $fU=$(fU{s.substr,14,0});*>>* $fn=$var(t);*>>* $tU=$var(n);*>>* 
>$td=$var(r);*>>**>>* subst('/^Contact:.*11811(.*)$/Contact: 
><sip:\1\2/ig');*>>* t_relay();*>>*          exit;*>>* ##if (t_check_trans()) 
>t_relay();*>>**>>* exit;*>>* };*>>**>>**>>* #*>>**>>**>>* #*>>*         if 
>(loose_route()) {*>>**>>**>>* ##*>>* if(is_method("OPTIONS")) {*>>*            
>  # send reply for each options request*>>*              sl_send_reply("200", 
>"ok");*>>*              exit();*>>*           }*>>* ##*>>* if(method=="BYE") 
>{*>>*     #Account BYE transactions*>>* setflag(2);*>>* };*>>**>>**>>* 
>##CANCEL processing*>>* if (method=="CANCEL") {*>>* setflag(3);*>>* 
>$var(n)=$(tU{s.substr,3,0});*>>* 
>$var(i)=$(ct{re.subst,/^.*11811(.*)/"\1/});*>>**>>* 
>$var(t)=$(fn{re.subst,/^.*11811(.*)/"\1/});*>>**>>* $var(r)=$rd; ##to 
>domain*>>* $fU=$(fU{s.substr,14,0});*>>* $fn=$var(t);*>>* $tU=$var(n);*>>* 
>$td=$var(r);*>>* subst('/^Contact:.*11811(.*)$/Contact: <sip:\1\2/ig');*>>* if 
>(t_check_trans()) t_relay();*>>* exit;*>>* };*>>**>>* if (!t_relay()) {*>>*    
>                      sl_reply_error();*>>*                  }*>>*             
>     exit;*>>*         }*>>**>>**>>*   if (is_method("INVITE")) { #Procesing 
>invites*>>**>>**>>* record_route();*>>*          }*>>* ##LOGGING CALL BEFORE 
>IS PROCESSED*>>* xlog("before strip,< time [$Tf] > Aip= $src_ip, 
>r-uri($ru\n");*>>* xlog("before from_uri=$fu; to_uri=$tu; 
>pai=<<$ct>>;intid=$fU;*>>* type_call=$si; dst_ip=$ru; 
>carriercode=$tu;callmode=$var(out) *>>* --$$--$ou");*>>* #creando rutas*>>* 
>setflag(2);*>>* # Account Missed calls*>>* setflag(3);*>>* ###VARIABLES FOR 
>MODIFICATIONS*>>* $var(x) = $(ru);*>>**>>* 
>$var(y)=$(var(x){s.substr,4,3});*>>**>>* $var(z)=$(var(y){s.int 
><http://s.int>});*>>**>>* $var(t)=$(var(x){s.substr,7,0});*>>**>>* 
>$var(h)=$(var(x){s.substr,0,7});*>>**>>* $var(o)=$(fU{s.substr,14,0});*>>**>>* 
>if($(var(x){s.len}) < 3)*>>* {*>>*   $var(z)='0'+ $var(z);*>>* }*>>**>>* 
>xlog("dsroute $var(z)fullruri($ru)\n");*>>**>>**>>* strip(3);*>>**>>* 
>xlog("after strip time [$Tf] method ($rm) via el code*>>* 
>($var(z)--varhex($var(h))-- ($var(y))\n");*>>* xlog("after from_uri=$fu; 
>to_uri=$tu; intid=$fU; type_call=$si;*>>* dst_ip=$ru; 
>carriercode=$var(z);callmode=$var(out)");*>>**>>* ds_select_domain ("$var(z)", 
>"4");#carrer dynamic*>>**>>**>>* ###########KILLING BUGGIES#######when t_realy 
>fails to find a route a*>>* loop is generate then strip takes off a digit 
>until 0 at 2.2.2.2 
><http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>*>>* <mailto:0 
>at 2.2.2.2 <http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>> is 
>left for to: user this kills that call.#####*>>* if ($(tU{s.len}) < 4) {*>>* 
>xlog("CHECK TU 1bad kILLING BUGGIES>>> $tu--$td-$tU-$tt--$dd-$dd-$du-*>>* 
>-<<$rd>$ru --- $oU> pai+++ <<$ct>>++ from_uri=$fu;<$tU---=$var(n)>*>>* 
>to_uri=$tu; }pai<$ai> id=$fU; type_call=$si; dst_ip=$ru;*>>* 
>carriercode=$var(z);callmode=$var(out)");*>>* ##sl_reply_error();*>>* 
>##sl_send_reply("513", "Message too big");*>>* ##sl_send_reply("488","Not 
>Acceptable Here");*>>* sl_send_reply("488","Not Acceptable Here");*>>* 
>#t_reset_retr();*>>* #t_release();*>>* ##if(!t_relay()){ sl_reply_error(); 
>drop; exit;}*>>**>>* #if (!t_relay()) { sl_reply_error(); break; };*>>* # 
>t_relay();*>>* #setflag(2);*>>* drop;*>>* exit;*>>**>>* }; ## Endif less than 
>4*>>* ##############END KILLING###########*>>* ################ROUTE 
>SELECTION###############*>>* if($(fn{s.len}) > 10) { # IF WE CHECK FOR FROM: 
>ROUTEID MUST BE LONGER*>>* THAN 10 DIGITS TO BE A VALID ROUTE*>>**>>* 
>xlog("out header CHECK more than 10 digits BEFORE*>>* 
>from_uri=$fu;($ct++)<$tU---=$var(n)> to_uri=$tu; intid=$fU;*>>* type_call=$si; 
>dst_ip=$ru; carriercode=$var(z);callmode=$var(out)");*>>* 
>$var(n)=$(tU{s.substr,3,0});*>>* 
>$var(i)=$(ct{re.subst,/^.*00700(.*)/"\1/});*>>* 
>$var(t)=$(fn{re.subst,/^.*00700(.*)/"\1/});*>>* $var(r)=$rd; ##to domain*>>* 
>$fU=$(fU{s.substr,14,0});*>>* $fn=$var(t);*>>* $tU=$var(n);*>>* 
>$td=$var(r);*>>**>>* subst('/^Contact:.*11811(.*)$/Contact: <sip:\1\2/ig'); # 
>Remove number*>>* from Contact*>>**>>* ##if(!t_relay()){ sl_reply_error(); 
>drop; exit;}*>>**>>* if (!t_relay()) { sl_reply_error(); break; };*>>**>>* # 
>t_relay();*>>**>>* drop;*>>*   exit;*>>**>>* };*>>**>>* 
>################ENDrouteselect##############################*>>**>>**>>* 
>###############AFTER LAST IF##############reply 488 ANY CALL THAT DID*>>* NOT 
>FOUND A ROUTE.*>>* sl_send_reply("488","Not Acceptable Here");*>>* drop;*>>* 
>exit;*>>* }*>>**>>* ###################END 
>MAINROUTE#################*>>**>>**>>**>>**>>**>>* On My dispatcher.lst i 
>have*>>**>>**>>* 1 sip:1.1.1.1:5060 <http://1.1.1.1:5060>*>>* 2 
>sip:2.2.2.2:5060 <http://2.2.2.2:5060>*>>* 3 sip:3.3.3.3:5060 
><http://3.3.3.3:5060>*>>* 3 sip:3.3.3.5:5060 <http://3.3.3.5:5060>*>>* 
>...*>>**>>**>>**>>**>>* _______________________________________________*>>* 
>SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list*>>* 
>sr-users at lists.sip-router.org 
><http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>*>>* 
>http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users*>>**>**>* 
>_______________________________________________*>* SIP Express Router (SER) 
>and Kamailio (OpenSER) - sr-users mailing list*>* sr-users at 
>lists.sip-router.org 
><http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>*>* 
>http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users*
-- 
Daniel-Constantin Mierla -
http://www.asipto.comhttp://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda
Kamailio Advanced Trainings - Berlin, Nov 25-28; Miami, Nov 18-20, 2013
   - more details about Kamailio trainings at http://www.asipto.com -



------------------------------


   - Previous message: [SR-Users] Loop detected on aws
setup<http://lists.sip-router.org/pipermail/sr-users/2013-October/080128.html>
   - Next message: [SR-Users] Proxy-Registrar call
issues<http://lists.sip-router.org/pipermail/sr-users/2013-October/080126.html>
   - *Messages sorted by:* [ date
]<http://lists.sip-router.org/pipermail/sr-users/2013-October/date.html#80129>
    [ thread 
]<http://lists.sip-router.org/pipermail/sr-users/2013-October/thread.html#80129>
    [ subject 
]<http://lists.sip-router.org/pipermail/sr-users/2013-October/subject.html#80129>
    [ author 
]<http://lists.sip-router.org/pipermail/sr-users/2013-October/author.html#80129>

------------------------------
More information about the sr-users mailing
list<http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to