<div dir="ltr"><br><div>They should be unrelated, RTPPROXY called on INVITES and MSILO on REGISTER|MESSAGE, why should INVITE's flow change using that msilo route ?</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 30, 2015 at 4:13 AM, sscc <span dir="ltr"><<a href="mailto:androidsscc@gmail.com" target="_blank">androidsscc@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"># ----- msilo params -----<br>
#!ifdef WITH_MSILO<br>
<br>
modparam("msilo", "db_url", "mysql://kamailio:abc@localhost/kamailio")<br>
<br>
modparam("msilo", "from_address", "<a href="mailto:sip%3Aregistrar@sscc.tk">sip:registrar@sscc.tk</a>")<br>
<br>
modparam("msilo", "contact_hdr", "Contact: <a href="mailto:registrar@sscc.tk">registrar@sscc.tk</a>;msilo=yes\r\n")<br>
<br>
modparam("msilo", "content_type_hdr", "Content-Type:text/plain\r\n")<br>
modparam("msilo", "offline_message", "User $ru is offline!")<br>
<br>
modparam ("msilo", "outbound_proxy", "sip:sscc.tk:6524;transport=tcp")<br>
<br>
<br>
<br>
<br>
<br>
<br>
####### Routing Logic ########<br>
<br>
<br>
# Main SIP request routing logic<br>
# - processing of any incoming SIP request starts with this route<br>
# - note: this is the same as route { ... }<br>
request_route {<br>
<br>
# per request initial checks<br>
route(REQINIT);<br>
<br>
# NAT detection<br>
route(NATDETECT);<br>
<br>
# CANCEL processing<br>
if (is_method("CANCEL")) {<br>
if (t_check_trans()) {<br>
route(RELAY);<br>
}<br>
exit;<br>
}<br>
<br>
# handle requests within SIP dialogs<br>
route(WITHINDLG);<br>
<br>
### only initial requests (no To tag)<br>
xlog("L_NOTICE","main route enter\n");<br>
# handle retransmissions<br>
if(t_precheck_trans()) {<br>
t_check_trans();<br>
exit;<br>
}<br>
t_check_trans();<br>
<br>
# authentication<br>
route(AUTH);<br>
<br>
# record routing for dialog forming requests (in case they are routed)<br>
# - remove preloaded route headers<br>
remove_hf("Route");<br>
if (is_method("INVITE|SUBSCRIBE"))<br>
record_route();<br>
<br>
# account only INVITEs<br>
if (is_method("INVITE")) {<br>
setflag(FLT_ACC); # do accounting<br>
}<br>
<br>
# dispatch requests to foreign domains<br>
route(SIPOUT);<br>
<br>
### requests for my local domains<br>
<br>
# handle presence related requests<br>
route(PRESENCE);<br>
<br>
# handle registrations<br>
route(REGISTRAR);<br>
<br>
if ($rU==$null) {<br>
# request with no Username in RURI<br>
sl_send_reply("484","Address Incomplete");<br>
exit;<br>
}<br>
# for msilo routing logic (sajjad)<br>
route(MSILO);<br>
# dispatch destinations to PSTN<br>
route(PSTN);<br>
<br>
# user location service<br>
route(LOCATION);<br>
}<br>
<br>
# Wrapper for relaying requests<br>
route[RELAY] {<br>
xlog("L_NOTICE", "RELAY route enter\n");<br>
<br>
# enable additional event routes for forwarded requests<br>
# - serial forking, RTP relaying handling, a.s.o.<br>
if (is_method("INVITE|BYE|SUBSCRIBE|UPDATE")) {<br>
if(!t_is_set("branch_route")) t_on_branch("MANAGE_BRANCH");<br>
}<br>
if (is_method("INVITE|SUBSCRIBE|UPDATE")) {<br>
if(!t_is_set("onreply_route")) t_on_reply("MANAGE_REPLY");<br>
}<br>
if (is_method("INVITE")) {<br>
if(!t_is_set("failure_route")) t_on_failure("MANAGE_FAILURE");<br>
}<br>
<br>
if (!t_relay()) {<br>
sl_reply_error();<br>
}<br>
exit;<br>
}<br>
<br>
# Per SIP request initial checks<br>
route[REQINIT] {<br>
#!ifdef WITH_ANTIFLOOD<br>
# flood dection from same IP and traffic ban for a while<br>
# be sure you exclude checking trusted peers, such as pstn gateways<br>
# - local host excluded (e.g., loop to self)<br>
if(src_ip!=myself) {<br>
if($sht(ipban=>$si)!=$null) {<br>
# ip is already blocked<br>
#xdbg("request from blocked IP - $rm from $fu (IP:$si:$sp)\n");<br>
xlog("L_NOTICE","request from blocked IP - $rm from<br>
$fu (IP:$si:$sp)\n");<br>
exit;<br>
}<br>
if (!pike_check_req()) {<br>
#xlog("L_ALERT","ALERT: pike blocking $rm from $fu (IP:$si:$sp)\n");<br>
xlog("L_NOTICE","ALERT: pike blocking $rm from $fu<br>
(IP:$si:$sp)\n");<br>
$sht(ipban=>$si) = 1;<br>
exit;<br>
}<br>
}<br>
if($ua =~ "friendly-scanner") {<br>
sl_send_reply("200", "OK");<br>
exit;<br>
}<br>
#!endif<br>
<br>
if (!mf_process_maxfwd_header("10")) {<br>
sl_send_reply("483","Too Many Hops");<br>
exit;<br>
}<br>
<br>
if(is_method("OPTIONS") && uri==myself && $rU==$null) {<br>
sl_send_reply("200","Keepalive");<br>
exit;<br>
}<br>
<br>
if(!sanity_check("1511", "7")) {<br>
xlog("Malformed SIP message from $si:$sp\n");<br>
exit;<br>
}<br>
}<br>
<br>
# Handle requests within SIP dialogs<br>
route[WITHINDLG] {<br>
if (!has_totag()) return;<br>
<br>
# sequential request withing a dialog should<br>
# take the path determined by record-routing<br>
if (loose_route()) {<br>
route(DLGURI);<br>
if (is_method("BYE")) {<br>
setflag(FLT_ACC); # do accounting ...<br>
setflag(FLT_ACCFAILED); # ... even if the transaction fails<br>
}<br>
else if ( is_method("ACK") ) {<br>
# ACK is forwarded statelessy<br>
route(NATMANAGE);<br>
}<br>
else if ( is_method("NOTIFY") ) {<br>
# Add Record-Route for in-dialog NOTIFY as per RFC 6665.<br>
record_route();<br>
}<br>
route(RELAY);<br>
exit;<br>
}<br>
<br>
if (is_method("SUBSCRIBE") && uri == myself) {<br>
# in-dialog subscribe requests<br>
route(PRESENCE);<br>
exit;<br>
}<br>
if ( is_method("ACK") ) {<br>
if ( t_check_trans() ) {<br>
# no loose-route, but stateful ACK;<br>
# must be an ACK after a 487<br>
# or e.g. 404 from upstream server<br>
route(RELAY);<br>
exit;<br>
} else {<br>
# ACK without matching transaction ... ignore and discard<br>
exit;<br>
}<br>
}<br>
sl_send_reply("404","Not here");<br>
exit;<br>
}<br>
<br>
# Handle SIP registrations<br>
route[REGISTRAR] {<br>
xlog("L_NOTICE","registrar route enter\n");<br>
if (!is_method("REGISTER")) return;<br>
<br>
if(isflagset(FLT_NATS)) {<br>
setbflag(FLB_NATB);<br>
#!ifdef WITH_NATSIPPING<br>
# do SIP NAT pinging<br>
setbflag(FLB_NATSIPPING);<br>
#!endif<br>
}<br>
if (!save("location"))<br>
sl_reply_error();<br>
xlog("L_NOTICE", "REGISTAR route exit\n");<br>
#BELLOW LINE ADDED BY sscc FOR MSILO<br>
route(MSILO);<br>
exit;<br>
}<br>
# msilo routing logic start from here (sscc)<br>
route[MSILO] {<br>
xlog("L_NOTICE", "MSILO route enter\n");<br>
if ( !mf_process_maxfwd_header("10") )<br>
{<br>
sl_send_reply("483","To Many Hops");<br>
exit;<br>
};<br>
<br>
<br>
if (uri==myself) {<br>
xlog("L_NOTICE", "MSILO route uri==myself\n");<br>
# for testing purposes, simply okay all REGISTERs<br>
if (method=="REGISTER")<br>
{<br>
xlog("L_NOTICE","REGISTER received -> dumping messages with MSILO\n");<br>
save("location");<br>
log("REGISTER received -> dumping messages with MSILO\n");<br>
<br>
<br>
# MSILO - dumping user's offline messages<br>
if (m_dump())<br>
{<br>
# log("MSILO: offline messages dumped - if they were\n");<br>
xlog("L_NOTICE","MSILO: offline messages dumped fu $fu , ru<br>
$ru , du $du, rU $rU\n");<br>
}else{<br>
# log("MSILO: no offline messages dumped\n");<br>
xlog("L_NOTICE","MSILO: no offline messages dumped\n");<br>
};<br>
exit;<br>
};<br>
<br>
# domestic SIP destinations are handled using our USRLOC DB<br>
<br>
if(!lookup("location"))<br>
{<br>
xlog("L_NOTICE", "MSILO location not stored\n");<br>
if (! t_newtran())<br>
{<br>
xlog("L_NOTICE", "MSILO (! t_newtran()\n");<br>
sl_reply_error();<br>
exit;<br>
};<br>
# we do not care about anything else but MESSAGEs<br>
if (!method=="MESSAGE")<br>
{<br>
if (!t_reply("404", "Not found"))<br>
{<br>
sl_reply_error();<br>
};<br>
exit;<br>
};<br>
xlog("L_NOTICE","MESSAGE received -> storing using MSILO\n");<br>
# MSILO - storing as offline message<br>
if (m_store("$ru"))<br>
{<br>
log("MSILO: offline message stored\n");<br>
if (!t_reply("202", "Accepted"))<br>
{<br>
sl_reply_error();<br>
};<br>
}else{<br>
xlog("L_NOTICE","MSILO: offline message NOT stored\n");<br>
if (!t_reply("503", "Service Unavailable"))<br>
{<br>
sl_reply_error();<br>
};<br>
};<br>
exit;<br>
};<br>
# if the downstream UA does not support MESSAGE requests<br>
# go to failure_route[1]<br>
t_on_failure("1");<br>
t_relay();<br>
xlog("L_NOTICE","MSILO: Error exit\n");<br>
exit;<br>
};<br>
t_relay();<br>
xlog("L_NOTICE","MSILO: route exit\n");<br>
}<br>
# forward anything else<br>
<br>
<br>
failure_route[1] {<br>
# forwarding failed -- check if the request was a MESSAGE<br>
if (!method=="MESSAGE")<br>
{<br>
exit;<br>
};<br>
<br>
log(1,"MSILO:the downstream UA doesn't support MESSAGEs\n");<br>
# we have changed the R-URI with the contact address, ignore it now<br>
if (m_store("$ou"))<br>
{<br>
xlog("L_NOTICE","MSILO: offline message stored\n");<br>
t_reply("202", "Accepted");<br>
}else{<br>
xlog("L_NOTICE","MSILO: offline message NOT stored\n");<br>
t_reply("503", "Service Unavailable");<br>
};<br>
}<br>
# msilo routing logic end here (sscc)<br>
<br>
<br>
# User location service<br>
route [LOCATION] {<br>
<br>
#!ifdef WITH_SPEEDDIAL<br>
# search for short dialing - 2-digit extension<br>
if($rU=~"^[0-9][0-9]$")<br>
if(sd_lookup("speed_dial"))<br>
route(SIPOUT);<br>
#!endif<br>
<br>
#!ifdef WITH_ALIASDB<br>
# search in DB-based aliases<br>
if(alias_db_lookup("dbaliases"))<br>
route(SIPOUT);<br>
#!endif<br>
<br>
$avp(oexten) = $rU;<br>
if (!lookup("location")) {<br>
$var(rc) = $rc;<br>
route(TOVOICEMAIL);<br>
t_newtran();<br>
switch ($var(rc)) {<br>
case -1:<br>
case -3:<br>
send_reply("404", "Not Found");<br>
exit;<br>
case -2:<br>
send_reply("405", "Method Not Allowed");<br>
exit;<br>
}<br>
}<br>
<br>
# when routing via usrloc, log the missed calls also<br>
if (is_method("INVITE")) {<br>
setflag(FLT_ACCMISSED);<br>
}<br>
<br>
route(RELAY);<br>
exit;<br>
xlog("L_NOTICE", "LOCATION route exit\n");<br>
}<br>
<br>
# Presence server processing<br>
route[PRESENCE] {<br>
xlog("L_NOTICE", "PRESENCE route enter\n");<br>
if(!is_method("PUBLISH|SUBSCRIBE"))<br>
return;<br>
<br>
if(is_method("SUBSCRIBE") && $hdr(Event)=="message-summary") {<br>
route(TOVOICEMAIL);<br>
# returns here if no voicemail server is configured<br>
sl_send_reply("404", "No voicemail service");<br>
exit;<br>
}<br>
<br>
#!ifdef WITH_PRESENCE<br>
if (!t_newtran()) {<br>
sl_reply_error();<br>
exit;<br>
}<br>
<br>
if(is_method("PUBLISH")) {<br>
handle_publish();<br>
t_release();<br>
} else if(is_method("SUBSCRIBE")) {<br>
handle_subscribe();<br>
t_release();<br>
}<br>
exit;<br>
xlog("L_NOTICE", "PRESENCE route exit\n");<br>
#!endif<br>
<br>
# if presence enabled, this part will not be executed<br>
if (is_method("PUBLISH") || $rU==$null) {<br>
sl_send_reply("404", "Not here");<br>
exit;<br>
}<br>
return;<br>
}<br>
<br>
# IP authorization and user uthentication<br>
route[AUTH] {<br>
xlog("L_NOTICE", "AUTH route enter\n");<br>
#!ifdef WITH_MSILO<br>
# do not authenticate ourselves when dumping messages<br>
if(is_method("MESSAGE") && src_ip==myself)<br>
{<br>
return;<br>
}<br>
#!endif<br>
<br>
# if caller is not local subscriber, then check if it calls<br>
# a local destination, otherwise deny, not an open relay here<br>
if (from_uri!=myself && uri!=myself)<br>
{<br>
sl_send_reply("403","Not relaying");<br>
exit;<br>
}<br>
#!ifdef WITH_AUTH<br>
<br>
#!ifdef WITH_IPAUTH<br>
if((!is_method("REGISTER")) && allow_source_address()) {<br>
# source IP allowed<br>
return;<br>
}<br>
#!endif<br>
<br>
if (is_method("REGISTER") || from_uri==myself)<br>
{<br>
# authenticate requests<br>
if (!auth_check("$fd", "subscriber", "1")) {<br>
auth_challenge("$fd", "0");<br>
exit;<br>
}<br>
# user authenticated - remove auth header<br>
if(!is_method("REGISTER|PUBLISH"))<br>
consume_credentials();<br>
}<br>
# if caller is not local subscriber, then check if it calls<br>
# a local destination, otherwise deny, not an open relay here<br>
if (from_uri!=myself && uri!=myself) {<br>
sl_send_reply("403","Not relaying");<br>
exit;<br>
xlog("L_NOTICE", "AUTH route exit\n");<br>
}<br>
<br>
#!endif<br>
return;<br>
}<br>
<br>
# Caller NAT detection<br>
route[NATDETECT] {<br>
xlog("L_NOTICE", "NAT Detection\n");<br>
#!ifdef WITH_NAT<br>
force_rport();<br>
if (nat_uac_test("19")) {<br>
if (is_method("REGISTER")) {<br>
fix_nated_register();<br>
} else {<br>
if(is_first_hop())<br>
set_contact_alias();<br>
}<br>
setflag(FLT_NATS);<br>
}<br>
#!endif<br>
return;<br>
}<br>
<br>
# RTPProxy control and singaling updates for NAT traversal<br>
route[NATMANAGE] {<br>
xlog("L_NOTICE", "NAT Managment\n");<br>
#!ifdef WITH_NAT<br>
if (is_request()) {<br>
if(has_totag()) {<br>
if(check_route_param("nat=yes")) {<br>
setbflag(FLB_NATB);<br>
}<br>
}<br>
}<br>
if (!(isflagset(FLT_NATS) || isbflagset(FLB_NATB)))<br>
return;<br>
<br>
rtpproxy_manage("co");<br>
# rtpproxy_manage();<br>
xlog("L_NOTICE", "RTPPROXY Managment\n");<br>
if (is_request()) {<br>
if (!has_totag()) {<br>
if(t_is_branch_route()) {<br>
add_rr_param(";nat=yes");<br>
}<br>
}<br>
}<br>
if (is_reply()) {<br>
if(isbflagset(FLB_NATB)) {<br>
if(is_first_hop())<br>
set_contact_alias();<br>
}<br>
}<br>
#!endif<br>
return;<br>
xlog("L_NOTICE", "NAT Managment exit\n");<br>
}<br>
<br>
# URI update for dialog requests<br>
route[DLGURI] {<br>
#!ifdef WITH_NAT<br>
if(!isdsturiset()) {<br>
handle_ruri_alias();<br>
}<br>
#!endif<br>
return;<br>
}<br>
<br>
# Routing to foreign domains<br>
route[SIPOUT] {<br>
if (uri==myself) return;<br>
<br>
append_hf("P-hint: outbound\r\n");<br>
route(RELAY);<br>
exit;<br>
}<br>
<br>
# PSTN GW routing<br>
route[PSTN] {<br>
#!ifdef WITH_PSTN<br>
# check if PSTN GW IP is defined<br>
if (strempty($sel(cfg_get.pstn.gw_ip))) {<br>
xlog("SCRIPT: PSTN rotuing enabled but pstn.gw_ip not defined\n");<br>
return;<br>
}<br>
<br>
# route to PSTN dialed numbers starting with '+' or '00'<br>
# (international format)<br>
# - update the condition to match your dialing rules for PSTN routing<br>
if(!($rU=~"^(\+|00)[1-9][0-9]{3,20}$"))<br>
return;<br>
<br>
# only local users allowed to call<br>
if(from_uri!=myself) {<br>
sl_send_reply("403", "Not Allowed");<br>
exit;<br>
}<br>
<br>
if (strempty($sel(cfg_get.pstn.gw_port))) {<br>
$ru = "sip:" + $rU + "@" + $sel(cfg_get.pstn.gw_ip);<br>
} else {<br>
$ru = "sip:" + $rU + "@" + $sel(cfg_get.pstn.gw_ip) + ":"<br>
+ $sel(cfg_get.pstn.gw_port);<br>
}<br>
<br>
route(RELAY);<br>
exit;<br>
#!endif<br>
<br>
return;<br>
}<br>
<br>
# XMLRPC routing<br>
#!ifdef WITH_XMLRPC<br>
route[XMLRPC] {<br>
# allow XMLRPC from localhost<br>
if ((method=="POST" || method=="GET")<br>
&& (src_ip==127.0.0.1)) {<br>
# close connection only for xmlrpclib user agents (there is a bug in<br>
# xmlrpclib: it waits for EOF before interpreting the response).<br>
if ($hdr(User-Agent) =~ "xmlrpclib")<br>
set_reply_close();<br>
set_reply_no_connect();<br>
dispatch_rpc();<br>
exit;<br>
}<br>
send_reply("403", "Forbidden");<br>
exit;<br>
}<br>
#!endif<br>
<br>
# Routing to voicemail server<br>
route[TOVOICEMAIL] {<br>
#!ifdef WITH_VOICEMAIL<br>
if(!is_method("INVITE|SUBSCRIBE"))<br>
return;<br>
<br>
# check if VoiceMail server IP is defined<br>
if (strempty($sel(cfg_get.voicemail.srv_ip))) {<br>
xlog("SCRIPT: VoiceMail rotuing enabled but IP not defined\n");<br>
return;<br>
}<br>
if(is_method("INVITE")) {<br>
if($avp(oexten)==$null)<br>
return;<br>
$ru = "sip:" + $avp(oexten) + "@" + $sel(cfg_get.voicemail.srv_ip)<br>
+ ":" + $sel(cfg_get.voicemail.srv_port);<br>
} else {<br>
if($rU==$null)<br>
return;<br>
$ru = "sip:" + $rU + "@" + $sel(cfg_get.voicemail.srv_ip)<br>
+ ":" + $sel(cfg_get.voicemail.srv_port);<br>
}<br>
route(RELAY);<br>
exit;<br>
#!endif<br>
<br>
return;<br>
}<br>
<br>
# Manage outgoing branches<br>
branch_route[MANAGE_BRANCH] {<br>
xdbg("new branch [$T_branch_idx] to $ru\n");<br>
route(NATMANAGE);<br>
}<br>
<br>
# Manage incoming replies<br>
onreply_route[MANAGE_REPLY] {<br>
xdbg("incoming reply\n");<br>
if(status=~"[12][0-9][0-9]")<br>
route(NATMANAGE);<br>
}<br>
<br>
# Manage failure routing cases<br>
failure_route[MANAGE_FAILURE] {<br>
route(NATMANAGE);<br>
<br>
if (t_is_canceled()) {<br>
exit;<br>
}<br>
<br>
#!ifdef WITH_BLOCK3XX<br>
# block call redirect based on 3xx replies.<br>
if (t_check_status("3[0-9][0-9]")) {<br>
t_reply("404","Not found");<br>
exit;<br>
}<br>
#!endif<br>
<br>
#!ifdef WITH_VOICEMAIL<br>
# serial forking<br>
# - route to voicemail on busy or no answer (timeout)<br>
if (t_check_status("486|408")) {<br>
$du = $null;<br>
route(TOVOICEMAIL);<br>
exit;<br>
}<br>
#!endif<br>
}<br>
<br>
<br>
<br>
<br>
<br>
<br>
below is the call flow log without msilo<br>
<br>
Apr 27 13:01:42 ssc-desktop ./kamailio[17894]: NOTICE: <script>: NAT<br>
Detection<br>
Apr 27 13:01:42 ssc-desktop ./kamailio[17894]: NOTICE: <script>: main route<br>
enter<br>
Apr 27 13:01:42 ssc-desktop ./kamailio[17894]: NOTICE: <script>: AUTH route<br>
enter<br>
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: NAT<br>
Detection<br>
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: main route<br>
enter<br>
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: AUTH route<br>
enter<br>
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: PRESENCE<br>
route enter<br>
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: registrar<br>
route enter<br>
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: RELAY route<br>
enter<br>
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: call Manage<br>
Branch<br>
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: call Manage<br>
Reply<br>
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: call<br>
Manage Failure<br>
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: calling<br>
natmanage for dealling Manage Branch<br>
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: NAT<br>
Managment<br>
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: RTPPROXY<br>
Managment<br>
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: RTPPROXY<br>
Managment (is request)<br>
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: RTPPROXY<br>
Managment (has totag)<br>
Apr 27 13:01:45 ssc-desktop ./kamailio[17891]: NOTICE: <script>: NAT<br>
Managment<br>
Apr 27 13:01:45 ssc-desktop ./kamailio[17891]: NOTICE: <script>: RTPPROXY<br>
Managment<br>
Apr 27 13:01:46 ssc-desktop ./kamailio[17891]: NOTICE: <script>: NAT<br>
Managment<br>
Apr 27 13:01:46 ssc-desktop ./kamailio[17891]: NOTICE: <script>: RTPPROXY<br>
Managment<br>
Apr 27 13:01:48 ssc-desktop ./kamailio[17891]: NOTICE: <script>: NAT<br>
Managment<br>
Apr 27 13:01:48 ssc-desktop ./kamailio[17891]: NOTICE: <script>: RTPPROXY<br>
Managment<br>
Apr 27 13:01:48 ssc-desktop ./kamailio[17891]: NOTICE: acc [acc.c:318]:<br>
acc_log_request(): ACC: transaction answered:<br>
timestamp=1430121708;method=INVITE;from_tag=u3gklhI94;to_tag=iWWipu9;call_id=XxV-GFBd3v;code=200;reason=Ok;src_user=h002;src_domain=<a href="http://sscc.tk" target="_blank">sscc.tk</a>;src_ip=x.x.x.x;dst_ouser=h001;dst_user=h001;dst_domain=x.x.x.x<br>
Apr 27 13:01:49 ssc-desktop ./kamailio[17891]: NOTICE: <script>: NAT<br>
Managment<br>
Apr 27 13:01:49 ssc-desktop ./kamailio[17891]: NOTICE: <script>: RTPPROXY<br>
Managment<br>
Apr 27 13:01:49 ssc-desktop ./kamailio[17891]: NOTICE: <script>: NAT<br>
Managment<br>
Apr 27 13:01:49 ssc-desktop ./kamailio[17891]: NOTICE: <script>: RTPPROXY<br>
Managment<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: NAT<br>
Detection<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: Dialog<br>
route enter<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: Ack method<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: NAT<br>
Managment<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RTPPROXY<br>
Managment<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RTPPROXY<br>
Managment (is request)<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RELAY route<br>
enter<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: NAT<br>
Detection<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: Dialog<br>
route enter<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: Ack method<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: NAT<br>
Managment<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RTPPROXY<br>
Managment<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RTPPROXY<br>
Managment (is request)<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RELAY route<br>
enter<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: NAT<br>
Detection<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: Dialog<br>
route enter<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: Ack method<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: NAT<br>
Managment<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RTPPROXY<br>
Managment<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RTPPROXY<br>
Managment (is request)<br>
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RELAY route<br>
enter<br>
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: NAT<br>
Detection<br>
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: Dialog<br>
route enter<br>
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: Bye method<br>
dealing<br>
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RELAY route<br>
enter<br>
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: call Manage<br>
Branch<br>
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: calling<br>
natmanage for dealling Manage Branch<br>
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: NAT<br>
Managment<br>
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RTPPROXY<br>
Managment<br>
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RTPPROXY<br>
Managment (is request)<br>
Apr 27 13:01:55 ssc-desktop ./kamailio[17891]: NOTICE: acc [acc.c:318]:<br>
acc_log_request(): ACC: transaction answered:<br>
timestamp=1430121715;method=BYE;from_tag=u3gklhI94;to_tag=iWWipu9;call_id=XxV-GFBd3v;code=200;reason=Ok;src_user=h002;src_domain=<a href="http://sscc.tk" target="_blank">sscc.tk</a>;src_ip=x.x.x.x;dst_ouser=h001;dst_user=h001;dst_domain=x.x.x.x.x<br>
<br>
<br>
below is the call flow log with msilo<br>
<br>
Apr 27 12:55:03 ssc-desktop ./kamailio[17739]: NOTICE: <script>: NAT<br>
Detection<br>
Apr 27 12:55:03 ssc-desktop ./kamailio[17739]: NOTICE: <script>: main route<br>
enter<br>
Apr 27 12:55:03 ssc-desktop ./kamailio[17739]: NOTICE: <script>: AUTH route<br>
enter<br>
Apr 27 12:55:04 ssc-desktop ./kamailio[17739]: NOTICE: <script>: NAT<br>
Detection<br>
Apr 27 12:55:04 ssc-desktop ./kamailio[17739]: NOTICE: <script>: main route<br>
enter<br>
Apr 27 12:55:04 ssc-desktop ./kamailio[17739]: NOTICE: <script>: AUTH route<br>
enter<br>
Apr 27 12:55:04 ssc-desktop ./kamailio[17739]: NOTICE: <script>: PRESENCE<br>
route enter<br>
Apr 27 12:55:04 ssc-desktop ./kamailio[17739]: NOTICE: <script>: registrar<br>
route enter<br>
Apr 27 12:55:04 ssc-desktop ./kamailio[17739]: NOTICE: <script>: MSILO route<br>
enter<br>
Apr 27 12:55:04 ssc-desktop ./kamailio[17739]: NOTICE: <script>: MSILO route<br>
uri==myself<br>
Apr 27 12:55:04 ssc-desktop ./kamailio[17739]: NOTICE: <script>: MSILO:<br>
exit<br>
Apr 27 12:55:13 ssc-desktop ./kamailio[17734]: NOTICE: acc [acc.c:318]:<br>
acc_log_request(): ACC: transaction answered:<br>
timestamp=1430121313;method=INVITE;from_tag=odZKvrDkM;to_tag=QLMaHnC;call_id=WNZGU6uIoN;code=200;reason=Ok;src_user=h001;src_domain=<a href="http://sscc.tk" target="_blank">sscc.tk</a>;src_ip=x.x.x.x;dst_ouser=h002;dst_user=h002;dst_domain=x.x.x.x<br>
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: NAT<br>
Detection<br>
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: Dialog<br>
route enter<br>
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: Ack method<br>
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: NAT<br>
Managment<br>
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RTPPROXY<br>
Managment<br>
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RTPPROXY<br>
Managment (is request)<br>
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RELAY route<br>
enter<br>
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: NAT<br>
Detection<br>
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: Dialog<br>
route enter<br>
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: Ack method<br>
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: NAT<br>
Managment<br>
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RTPPROXY<br>
Managment<br>
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RTPPROXY<br>
Managment (is request)<br>
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RELAY route<br>
enter<br>
Apr 27 12:55:19 ssc-desktop ./kamailio[17735]: NOTICE: <script>: NAT<br>
Detection<br>
Apr 27 12:55:19 ssc-desktop ./kamailio[17735]: NOTICE: <script>: Dialog<br>
route enter<br>
Apr 27 12:55:19 ssc-desktop ./kamailio[17735]: NOTICE: <script>: Ack method<br>
Apr 27 12:55:19 ssc-desktop ./kamailio[17735]: NOTICE: <script>: NAT<br>
Managment<br>
Apr 27 12:55:19 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RTPPROXY<br>
Managment<br>
Apr 27 12:55:19 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RTPPROXY<br>
Managment (is request)<br>
Apr 27 12:55:19 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RELAY route<br>
enter<br>
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: NAT<br>
Detection<br>
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: Dialog<br>
route enter<br>
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: Bye method<br>
dealing<br>
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: RELAY route<br>
enter<br>
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: call Manage<br>
Branch<br>
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: calling<br>
natmanage for dealling Manage Branch<br>
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: NAT<br>
Managment<br>
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: RTPPROXY<br>
Managment<br>
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: RTPPROXY<br>
Managment (is request)<br>
Apr 27 12:55:27 ssc-desktop ./kamailio[17739]: NOTICE: acc [acc.c:318]:<br>
acc_log_request(): ACC: transaction answered:<br>
timestamp=1430121327;method=BYE;from_tag=odZKvrDkM;to_tag=QLMaHnC;call_id=WNZGU6uIoN;code=200;reason=Ok;src_user=h001;src_domain=<a href="http://sscc.tk" target="_blank">sscc.tk</a>;src_ip=x.x.x.x;dst_ouser=h002;dst_user=h002;dst_domain=x.x.x.x<br>
<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://sip-router.1086192.n5.nabble.com/NO-VOICE-AFTER-MSILO-tp137430p137437.html" target="_blank">http://sip-router.1086192.n5.nabble.com/NO-VOICE-AFTER-MSILO-tp137430p137437.html</a><br>
<div class="HOEnZb"><div class="h5">Sent from the Users mailing list archive at Nabble.com.<br>
<br>
_______________________________________________<br>
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<br>
<a href="mailto: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></div></blockquote></div><br></div>