Here is it Basic config for Kamailio 1.4.3
####### Global Parameters ######### debug=9 # change this to 3 log_stderror=yes fork=yes children=4 listen=udp:x.x.x.x:5060 ####### Modules Section ######## #set module path mpath="/opt/openser/lib64/kamailio/modules/" loadmodule "db_mysql.so" loadmodule "sl.so" loadmodule "tm.so" loadmodule "rr.so" loadmodule "maxfwd.so" loadmodule "textops.so" loadmodule "mi_fifo.so" #loadmodule "uri_db.so" loadmodule "uri.so" loadmodule "xlog.so" loadmodule "carrierroute.so" # ----------------- setting module-specific parameters --------------- # ----- mi_fifo params ----- modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo") # ----- carrierroute params ----- modparam("carrierroute", "db_url", "mysql://help:h...@localhost/sip") modparam("carrierroute", "config_source", "db") ####### Routing Logic ######## # main request routing logic route{ if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); exit; }; if (has_totag()) { # sequential request withing a dialog should # take the path determined by record-routing if (loose_route()) { # if (is_method("BYE")) { # with or without BYE i have the same result # if (t_check_trans()) # t_relay(); # } route(10); } else { if ( is_method("ACK") ) { if ( t_check_trans() ) { # non loose-route, but stateful ACK; must be an ACK after a 487 or e.g. 404 from upstream server t_relay(); exit; } else { # ACK without matching transaction ... ignore and discard.\n"); xlog("L_WARN", "[$mi] discarding ACK\n"); exit; } } sl_send_reply("404","Not here"); } exit; } #initial requests # CANCEL processing if (is_method("CANCEL")) { if (t_check_trans()) t_relay(); exit; } t_check_trans(); # record routing if (!is_method("REGISTER|MESSAGE")) record_route(); if (!uri==myself) { append_hf("P-hint: outbound\r\n"); route(10); exit; } # requests for my domain if ($rU==NULL) { # request with no Username in RURI sl_send_reply("484","Address Incomplete"); exit; } if (is_method("INVITE")) { if (cr_route("default", "3", "$rU", "$rU", "call_id")) { t_on_failure("1"); route(10); exit; } exit; } } route[10] { cr_user_carrier("$fU", "$fd", "$avp(s:carrier)"); $avp(s:domain)="3"; if (!cr_route("$avp(s:carrier)", "$avp(s:domain)", "$rU", "$rU", "call_id")) { xlog("L_ERR", "cr_route failed\n"); exit; } # if you store also the port as part of the rewrite host, # otherwise you can just use $rd later $avp(s:host)= $rd; t_on_failure("1"); # xlog("method: $rm"); if (!t_relay()) { sl_reply_error(); } } #onreply_route[2] { # xlog("incoming reply\n"); #} failure_route[1] { revert_uri(); if (!cr_next_domain("$avp(s:carrier)", "$avp(s:domain)", "$rU", "$avp(s:host)", "$T_reply_code", "$avp(s:domain)")) { xlog("L_ERR", "cr_next_domain failed\n"); exit; } if (!cr_route("$avp(s:carrier)", "$avp(s:domain)", "$rU", "$rU", "call_id")) { xlog("L_ERR", "cr_route failed\n"); exit; } # $avp(s:host)= $rd+":"+$rp; $avp(s:host)= $rd; t_on_failure("1"); append_branch(); if (!t_relay()) { xlog("L_ERR", "t_relay failed\n"); exit; } } i am running solaris 10, 64 bits, then i really don't know if i should not try in this platform. I somebody has a Working config as an example will be great. but i still dont have the BYE, is not leaving the server, when i sniff the network. the kamailio debug shows at least 4 times something like this : bash-3.00# Feb 17 22:32:11 [15673] DBG:tm:utimer_routine: timer routine:7,tl=fffffffef0293738 next=0, timeout=44300000 Feb 17 22:32:11 [15673] DBG:tm:retransmission_handler: retransmission_handler : request resending (t=fffffffef0293518, BYE sip:4 ... ) Feb 17 22:32:11 [15673] DBG:tm:set_timer: relative timeout is 4000000 Feb 17 22:32:11 [15673] DBG:tm:insert_timer_unsafe: [7]: fffffffef0293738 (48300000) Feb 17 22:32:11 [15673] DBG:tm:retransmission_handler: retransmission_handler : done bash-3.00# Feb 17 22:32:16 [15673] DBG:tm:utimer_routine: timer routine:7,tl=fffffffef0293738 next=0, timeout=48300000 Feb 17 22:32:16 [15673] DBG:tm:retransmission_handler: retransmission_handler : request resending (t=fffffffef0293518, BYE sip:4 ... ) Feb 17 22:32:16 [15673] DBG:tm:set_timer: relative timeout is 4000000 Feb 17 22:32:16 [15673] DBG:tm:insert_timer_unsafe: [7]: fffffffef0293738 (52300000) Feb 17 22:32:16 [15673] DBG:tm:retransmission_handler: retransmission_handler : done thanks F On Tue, 2009-02-17 at 18:48 +0100, Henning Westerholt wrote: > On Tuesday 17 February 2009, Omar wrote: > > i did > > > > there is no bye leaving from the kamailio at all > > > > the config is i stated before but now without the exit in the BYE > > condition. > > > > kamailio saves the bye when the bye comes from the B side, yes > > but it does not send anything back to the Originator GW, as it should. > > i made the captures and nothing. Kamailio receives and process the bye > > for CDR, but it does not send the BYE to the originator. i captured in > > the port 5060 and nothing comes. > > > > it is maybe a bug.? > > Hi Omar, > > it could be a bug, a misconfiguration, or a user agent which does not act > according the standard. Does the BYE reach your forwarding/ t_relay statement > in your config, you can check with xlog as well. This gives you the method of > the SIP message you actually proceed in the config, just add this before the > forwarding statement. > > xlog("method: $rm"); > > Cheers, > > Henning _______________________________________________ Kamailio (OpenSER) - Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users http://lists.openser-project.org/cgi-bin/mailman/listinfo/users