They should be unrelated, RTPPROXY called on INVITES and MSILO on REGISTER|MESSAGE, why should INVITE's flow change using that msilo route ?


On Thu, Apr 30, 2015 at 4:13 AM, sscc <androidsscc@gmail.com> wrote:
# ----- msilo params -----
#!ifdef WITH_MSILO

modparam("msilo", "db_url", "mysql://kamailio:abc@localhost/kamailio")

modparam("msilo", "from_address", "sip:registrar@sscc.tk")

modparam("msilo", "contact_hdr", "Contact: registrar@sscc.tk;msilo=yes\r\n")

modparam("msilo", "content_type_hdr", "Content-Type:text/plain\r\n")
modparam("msilo", "offline_message", "User $ru is offline!")

modparam ("msilo", "outbound_proxy", "sip:sscc.tk:6524;transport=tcp")






####### Routing Logic ########


# Main SIP request routing logic
# - processing of any incoming SIP request starts with this route
# - note: this is the same as route { ... }
request_route {

        # per request initial checks
        route(REQINIT);

        # NAT detection
        route(NATDETECT);

        # CANCEL processing
        if (is_method("CANCEL")) {
                if (t_check_trans()) {
                        route(RELAY);
                }
                exit;
        }

        # handle requests within SIP dialogs
        route(WITHINDLG);

        ### only initial requests (no To tag)
xlog("L_NOTICE","main route enter\n");
        # handle retransmissions
        if(t_precheck_trans()) {
                t_check_trans();
                exit;
        }
        t_check_trans();

        # authentication
        route(AUTH);

        # record routing for dialog forming requests (in case they are routed)
        # - remove preloaded route headers
        remove_hf("Route");
        if (is_method("INVITE|SUBSCRIBE"))
                record_route();

        # account only INVITEs
        if (is_method("INVITE")) {
                setflag(FLT_ACC); # do accounting
        }

        # dispatch requests to foreign domains
        route(SIPOUT);

        ### requests for my local domains

        # handle presence related requests
        route(PRESENCE);

        # handle registrations
        route(REGISTRAR);

        if ($rU==$null) {
                # request with no Username in RURI
                sl_send_reply("484","Address Incomplete");
                exit;
        }
# for msilo routing logic (sajjad)
        route(MSILO);
        # dispatch destinations to PSTN
        route(PSTN);

        # user location service
        route(LOCATION);
}

# Wrapper for relaying requests
route[RELAY] {
 xlog("L_NOTICE", "RELAY route enter\n");

        # enable additional event routes for forwarded requests
        # - serial forking, RTP relaying handling, a.s.o.
        if (is_method("INVITE|BYE|SUBSCRIBE|UPDATE")) {
                if(!t_is_set("branch_route")) t_on_branch("MANAGE_BRANCH");
        }
        if (is_method("INVITE|SUBSCRIBE|UPDATE")) {
                if(!t_is_set("onreply_route")) t_on_reply("MANAGE_REPLY");
        }
        if (is_method("INVITE")) {
                if(!t_is_set("failure_route")) t_on_failure("MANAGE_FAILURE");
        }

        if (!t_relay()) {
                sl_reply_error();
        }
        exit;
}

# Per SIP request initial checks
route[REQINIT] {
#!ifdef WITH_ANTIFLOOD
        # flood dection from same IP and traffic ban for a while
        # be sure you exclude checking trusted peers, such as pstn gateways
        # - local host excluded (e.g., loop to self)
        if(src_ip!=myself) {
                if($sht(ipban=>$si)!=$null) {
                        # ip is already blocked
                        #xdbg("request from blocked IP - $rm from $fu (IP:$si:$sp)\n");
                        xlog("L_NOTICE","request from blocked IP - $rm from
$fu (IP:$si:$sp)\n");
                        exit;
                }
                if (!pike_check_req()) {
                        #xlog("L_ALERT","ALERT: pike blocking $rm from $fu (IP:$si:$sp)\n");
                        xlog("L_NOTICE","ALERT: pike blocking $rm from $fu
(IP:$si:$sp)\n");
                        $sht(ipban=>$si) = 1;
                        exit;
                }
        }
        if($ua =~ "friendly-scanner") {
                sl_send_reply("200", "OK");
                exit;
        }
#!endif

        if (!mf_process_maxfwd_header("10")) {
                sl_send_reply("483","Too Many Hops");
                exit;
        }

        if(is_method("OPTIONS") && uri==myself && $rU==$null) {
                sl_send_reply("200","Keepalive");
                exit;
        }

        if(!sanity_check("1511", "7")) {
                xlog("Malformed SIP message from $si:$sp\n");
                exit;
        }
}

# Handle requests within SIP dialogs
route[WITHINDLG] {
        if (!has_totag()) return;

        # sequential request withing a dialog should
        # take the path determined by record-routing
        if (loose_route()) {
                route(DLGURI);
                if (is_method("BYE")) {
                        setflag(FLT_ACC); # do accounting ...
                        setflag(FLT_ACCFAILED); # ... even if the transaction fails
                }
                else if ( is_method("ACK") ) {
                        # ACK is forwarded statelessy
                        route(NATMANAGE);
                }
                else if ( is_method("NOTIFY") ) {
                        # Add Record-Route for in-dialog NOTIFY as per RFC 6665.
                        record_route();
                }
                route(RELAY);
                exit;
        }

        if (is_method("SUBSCRIBE") && uri == myself) {
                # in-dialog subscribe requests
                route(PRESENCE);
                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
                        route(RELAY);
                        exit;
                } else {
                        # ACK without matching transaction ... ignore and discard
                        exit;
                }
        }
        sl_send_reply("404","Not here");
        exit;
}

# Handle SIP registrations
route[REGISTRAR] {
          xlog("L_NOTICE","registrar route enter\n");
        if (!is_method("REGISTER")) return;

        if(isflagset(FLT_NATS)) {
                setbflag(FLB_NATB);
#!ifdef WITH_NATSIPPING
                # do SIP NAT pinging
                setbflag(FLB_NATSIPPING);
#!endif
        }
        if (!save("location"))
                sl_reply_error();
            xlog("L_NOTICE", "REGISTAR route exit\n");
#BELLOW LINE ADDED BY sscc FOR MSILO
                route(MSILO);
        exit;
}
# msilo routing logic start from here (sscc)
route[MSILO] {
 xlog("L_NOTICE", "MSILO route enter\n");
    if ( !mf_process_maxfwd_header("10") )
    {
        sl_send_reply("483","To Many Hops");
        exit;
    };


    if (uri==myself) {
    xlog("L_NOTICE", "MSILO route uri==myself\n");
        # for testing purposes, simply okay all REGISTERs
        if (method=="REGISTER")
        {
xlog("L_NOTICE","REGISTER received -> dumping messages with MSILO\n");
            save("location");
            log("REGISTER received -> dumping messages with MSILO\n");


            # MSILO - dumping user's offline messages
            if (m_dump())
 {
               # log("MSILO: offline messages dumped - if they were\n");
                xlog("L_NOTICE","MSILO: offline messages dumped fu $fu , ru
$ru , du $du, rU $rU\n");
            }else{
               # log("MSILO: no offline messages dumped\n");
               xlog("L_NOTICE","MSILO: no offline messages dumped\n");
            };
            exit;
        };

        # domestic SIP destinations are handled using our USRLOC DB

        if(!lookup("location"))
        {
             xlog("L_NOTICE", "MSILO location not stored\n");
            if (! t_newtran())
            {
               xlog("L_NOTICE", "MSILO (! t_newtran()\n");
                sl_reply_error();
                exit;
            };
            # we do not care about anything else but MESSAGEs
            if (!method=="MESSAGE")
            {
                if (!t_reply("404", "Not found"))
                {
                    sl_reply_error();
                };
                exit;
            };
            xlog("L_NOTICE","MESSAGE received -> storing using MSILO\n");
            # MSILO - storing as offline message
            if (m_store("$ru"))
            {
                log("MSILO: offline message stored\n");
                if (!t_reply("202", "Accepted"))
                {
                    sl_reply_error();
                };
            }else{
                xlog("L_NOTICE","MSILO: offline message NOT stored\n");
                if (!t_reply("503", "Service Unavailable"))
                {
                    sl_reply_error();
                };
            };
            exit;
        };
        # if the downstream UA does not support MESSAGE requests
        # go to failure_route[1]
        t_on_failure("1");
        t_relay();
 xlog("L_NOTICE","MSILO: Error exit\n");
        exit;
    };
 t_relay();
xlog("L_NOTICE","MSILO: route exit\n");
}
    # forward anything else


failure_route[1] {
    # forwarding failed -- check if the request was a MESSAGE
    if (!method=="MESSAGE")
    {
        exit;
    };

    log(1,"MSILO:the downstream UA doesn't support MESSAGEs\n");
    # we have changed the R-URI with the contact address, ignore it now
    if (m_store("$ou"))
    {
        xlog("L_NOTICE","MSILO: offline message stored\n");
        t_reply("202", "Accepted");
    }else{
        xlog("L_NOTICE","MSILO: offline message NOT stored\n");
        t_reply("503", "Service Unavailable");
    };
}
# msilo routing logic end here (sscc)


# User location service
route [LOCATION] {

#!ifdef WITH_SPEEDDIAL
        # search for short dialing - 2-digit extension
        if($rU=~"^[0-9][0-9]$")
                if(sd_lookup("speed_dial"))
                        route(SIPOUT);
#!endif

#!ifdef WITH_ALIASDB
        # search in DB-based aliases
        if(alias_db_lookup("dbaliases"))
                route(SIPOUT);
#!endif

        $avp(oexten) = $rU;
        if (!lookup("location")) {
                $var(rc) = $rc;
                route(TOVOICEMAIL);
                t_newtran();
                switch ($var(rc)) {
                        case -1:
                        case -3:
                                send_reply("404", "Not Found");
                                exit;
                        case -2:
                                send_reply("405", "Method Not Allowed");
                                exit;
                }
        }

        # when routing via usrloc, log the missed calls also
        if (is_method("INVITE")) {
                setflag(FLT_ACCMISSED);
        }

        route(RELAY);
        exit;
  xlog("L_NOTICE", "LOCATION route exit\n");
}

# Presence server processing
route[PRESENCE] {
xlog("L_NOTICE", "PRESENCE route enter\n");
        if(!is_method("PUBLISH|SUBSCRIBE"))
                return;

        if(is_method("SUBSCRIBE") && $hdr(Event)=="message-summary") {
                route(TOVOICEMAIL);
                # returns here if no voicemail server is configured
                sl_send_reply("404", "No voicemail service");
                exit;
        }

#!ifdef WITH_PRESENCE
        if (!t_newtran()) {
                sl_reply_error();
                exit;
        }

        if(is_method("PUBLISH")) {
                handle_publish();
                t_release();
        } else if(is_method("SUBSCRIBE")) {
                handle_subscribe();
                t_release();
        }
        exit;
       xlog("L_NOTICE", "PRESENCE route exit\n");
#!endif

        # if presence enabled, this part will not be executed
        if (is_method("PUBLISH") || $rU==$null) {
                sl_send_reply("404", "Not here");
                exit;
        }
        return;
}

# IP authorization and user uthentication
route[AUTH] {
xlog("L_NOTICE", "AUTH route enter\n");
#!ifdef WITH_MSILO
        # do not authenticate ourselves when dumping messages
        if(is_method("MESSAGE") && src_ip==myself)
        {
                return;
        }
#!endif

        # if caller is not local subscriber, then check if it calls
        # a local destination, otherwise deny, not an open relay here
        if (from_uri!=myself && uri!=myself)
        {
                sl_send_reply("403","Not relaying");
                exit;
        }
#!ifdef WITH_AUTH

#!ifdef WITH_IPAUTH
        if((!is_method("REGISTER")) && allow_source_address()) {
                # source IP allowed
                return;
        }
#!endif

        if (is_method("REGISTER") || from_uri==myself)
        {
                # authenticate requests
                if (!auth_check("$fd", "subscriber", "1")) {
                        auth_challenge("$fd", "0");
                        exit;
                }
                # user authenticated - remove auth header
                if(!is_method("REGISTER|PUBLISH"))
                        consume_credentials();
        }
        # if caller is not local subscriber, then check if it calls
        # a local destination, otherwise deny, not an open relay here
        if (from_uri!=myself && uri!=myself) {
                sl_send_reply("403","Not relaying");
                exit;
xlog("L_NOTICE", "AUTH route exit\n");
        }

#!endif
        return;
}

# Caller NAT detection
route[NATDETECT] {
xlog("L_NOTICE", "NAT Detection\n");
#!ifdef WITH_NAT
        force_rport();
        if (nat_uac_test("19")) {
                if (is_method("REGISTER")) {
                        fix_nated_register();
                } else {
                        if(is_first_hop())
                                set_contact_alias();
                }
                setflag(FLT_NATS);
        }
#!endif
        return;
}

# RTPProxy control and singaling updates for NAT traversal
route[NATMANAGE] {
xlog("L_NOTICE", "NAT Managment\n");
#!ifdef WITH_NAT
        if (is_request()) {
                if(has_totag()) {
                        if(check_route_param("nat=yes")) {
                                setbflag(FLB_NATB);
                        }
                }
        }
        if (!(isflagset(FLT_NATS) || isbflagset(FLB_NATB)))
                return;

        rtpproxy_manage("co");
       # rtpproxy_manage();
         xlog("L_NOTICE", "RTPPROXY Managment\n");
        if (is_request()) {
                if (!has_totag()) {
                        if(t_is_branch_route()) {
                                add_rr_param(";nat=yes");
                        }
                }
        }
        if (is_reply()) {
                if(isbflagset(FLB_NATB)) {
                        if(is_first_hop())
                                set_contact_alias();
                }
        }
#!endif
        return;
xlog("L_NOTICE", "NAT Managment exit\n");
}

# URI update for dialog requests
route[DLGURI] {
#!ifdef WITH_NAT
        if(!isdsturiset()) {
                handle_ruri_alias();
        }
#!endif
        return;
}

# Routing to foreign domains
route[SIPOUT] {
        if (uri==myself) return;

        append_hf("P-hint: outbound\r\n");
        route(RELAY);
        exit;
}

# PSTN GW routing
route[PSTN] {
#!ifdef WITH_PSTN
        # check if PSTN GW IP is defined
        if (strempty($sel(cfg_get.pstn.gw_ip))) {
                xlog("SCRIPT: PSTN rotuing enabled but pstn.gw_ip not defined\n");
                return;
        }

        # route to PSTN dialed numbers starting with '+' or '00'
        #     (international format)
        # - update the condition to match your dialing rules for PSTN routing
        if(!($rU=~"^(\+|00)[1-9][0-9]{3,20}$"))
                return;

        # only local users allowed to call
        if(from_uri!=myself) {
                sl_send_reply("403", "Not Allowed");
                exit;
        }

        if (strempty($sel(cfg_get.pstn.gw_port))) {
                $ru = "sip:" + $rU + "@" + $sel(cfg_get.pstn.gw_ip);
        } else {
                $ru = "sip:" + $rU + "@" + $sel(cfg_get.pstn.gw_ip) + ":"
                                        + $sel(cfg_get.pstn.gw_port);
        }

        route(RELAY);
        exit;
#!endif

        return;
}

# XMLRPC routing
#!ifdef WITH_XMLRPC
route[XMLRPC] {
        # allow XMLRPC from localhost
        if ((method=="POST" || method=="GET")
                        && (src_ip==127.0.0.1)) {
                # close connection only for xmlrpclib user agents (there is a bug in
                # xmlrpclib: it waits for EOF before interpreting the response).
                if ($hdr(User-Agent) =~ "xmlrpclib")
                        set_reply_close();
                set_reply_no_connect();
                dispatch_rpc();
                exit;
        }
        send_reply("403", "Forbidden");
        exit;
}
#!endif

# Routing to voicemail server
route[TOVOICEMAIL] {
#!ifdef WITH_VOICEMAIL
        if(!is_method("INVITE|SUBSCRIBE"))
                return;

        # check if VoiceMail server IP is defined
        if (strempty($sel(cfg_get.voicemail.srv_ip))) {
                xlog("SCRIPT: VoiceMail rotuing enabled but IP not defined\n");
                return;
        }
        if(is_method("INVITE")) {
                if($avp(oexten)==$null)
                        return;
                $ru = "sip:" + $avp(oexten) + "@" + $sel(cfg_get.voicemail.srv_ip)
                                + ":" + $sel(cfg_get.voicemail.srv_port);
        } else {
                if($rU==$null)
                        return;
                $ru = "sip:" + $rU + "@" + $sel(cfg_get.voicemail.srv_ip)
                                + ":" + $sel(cfg_get.voicemail.srv_port);
        }
        route(RELAY);
        exit;
#!endif

        return;
}

# Manage outgoing branches
branch_route[MANAGE_BRANCH] {
        xdbg("new branch [$T_branch_idx] to $ru\n");
        route(NATMANAGE);
}

# Manage incoming replies
onreply_route[MANAGE_REPLY] {
        xdbg("incoming reply\n");
        if(status=~"[12][0-9][0-9]")
                route(NATMANAGE);
}

# Manage failure routing cases
failure_route[MANAGE_FAILURE] {
        route(NATMANAGE);

        if (t_is_canceled()) {
                exit;
        }

#!ifdef WITH_BLOCK3XX
        # block call redirect based on 3xx replies.
        if (t_check_status("3[0-9][0-9]")) {
                t_reply("404","Not found");
                exit;
        }
#!endif

#!ifdef WITH_VOICEMAIL
        # serial forking
        # - route to voicemail on busy or no answer (timeout)
        if (t_check_status("486|408")) {
                $du = $null;
                route(TOVOICEMAIL);
                exit;
        }
#!endif
}






below is the call flow log without msilo

Apr 27 13:01:42 ssc-desktop ./kamailio[17894]: NOTICE: <script>: NAT
Detection
Apr 27 13:01:42 ssc-desktop ./kamailio[17894]: NOTICE: <script>: main route
enter
Apr 27 13:01:42 ssc-desktop ./kamailio[17894]: NOTICE: <script>: AUTH route
enter
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: NAT
Detection
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: main route
enter
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: AUTH route
enter
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: PRESENCE
route enter
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: registrar
route enter
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: RELAY route
enter
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: call Manage
Branch
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: call Manage
Reply
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>:  call
Manage Failure
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: calling
natmanage for dealling Manage Branch
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: NAT
Managment
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: RTPPROXY
Managment
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: RTPPROXY
Managment (is request)
Apr 27 13:01:43 ssc-desktop ./kamailio[17894]: NOTICE: <script>: RTPPROXY
Managment (has totag)
Apr 27 13:01:45 ssc-desktop ./kamailio[17891]: NOTICE: <script>: NAT
Managment
Apr 27 13:01:45 ssc-desktop ./kamailio[17891]: NOTICE: <script>: RTPPROXY
Managment
Apr 27 13:01:46 ssc-desktop ./kamailio[17891]: NOTICE: <script>: NAT
Managment
Apr 27 13:01:46 ssc-desktop ./kamailio[17891]: NOTICE: <script>: RTPPROXY
Managment
Apr 27 13:01:48 ssc-desktop ./kamailio[17891]: NOTICE: <script>: NAT
Managment
Apr 27 13:01:48 ssc-desktop ./kamailio[17891]: NOTICE: <script>: RTPPROXY
Managment
Apr 27 13:01:48 ssc-desktop ./kamailio[17891]: NOTICE: acc [acc.c:318]:
acc_log_request(): ACC: transaction answered:
timestamp=1430121708;method=INVITE;from_tag=u3gklhI94;to_tag=iWWipu9;call_id=XxV-GFBd3v;code=200;reason=Ok;src_user=h002;src_domain=sscc.tk;src_ip=x.x.x.x;dst_ouser=h001;dst_user=h001;dst_domain=x.x.x.x
Apr 27 13:01:49 ssc-desktop ./kamailio[17891]: NOTICE: <script>: NAT
Managment
Apr 27 13:01:49 ssc-desktop ./kamailio[17891]: NOTICE: <script>: RTPPROXY
Managment
Apr 27 13:01:49 ssc-desktop ./kamailio[17891]: NOTICE: <script>: NAT
Managment
Apr 27 13:01:49 ssc-desktop ./kamailio[17891]: NOTICE: <script>: RTPPROXY
Managment
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: NAT
Detection
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: Dialog
route enter
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: Ack method
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: NAT
Managment
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RTPPROXY
Managment
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RTPPROXY
Managment (is request)
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RELAY route
enter
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: NAT
Detection
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: Dialog
route enter
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: Ack method
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: NAT
Managment
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RTPPROXY
Managment
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RTPPROXY
Managment (is request)
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RELAY route
enter
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: NAT
Detection
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: Dialog
route enter
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: Ack method
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: NAT
Managment
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RTPPROXY
Managment
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RTPPROXY
Managment (is request)
Apr 27 13:01:50 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RELAY route
enter
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: NAT
Detection
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: Dialog
route enter
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: Bye method
dealing
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RELAY route
enter
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: call Manage
Branch
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: calling
natmanage for dealling Manage Branch
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: NAT
Managment
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RTPPROXY
Managment
Apr 27 13:01:54 ssc-desktop ./kamailio[17892]: NOTICE: <script>: RTPPROXY
Managment (is request)
Apr 27 13:01:55 ssc-desktop ./kamailio[17891]: NOTICE: acc [acc.c:318]:
acc_log_request(): ACC: transaction answered:
timestamp=1430121715;method=BYE;from_tag=u3gklhI94;to_tag=iWWipu9;call_id=XxV-GFBd3v;code=200;reason=Ok;src_user=h002;src_domain=sscc.tk;src_ip=x.x.x.x;dst_ouser=h001;dst_user=h001;dst_domain=x.x.x.x.x


below is the call flow log with msilo

Apr 27 12:55:03 ssc-desktop ./kamailio[17739]: NOTICE: <script>: NAT
Detection
Apr 27 12:55:03 ssc-desktop ./kamailio[17739]: NOTICE: <script>: main route
enter
Apr 27 12:55:03 ssc-desktop ./kamailio[17739]: NOTICE: <script>: AUTH route
enter
Apr 27 12:55:04 ssc-desktop ./kamailio[17739]: NOTICE: <script>: NAT
Detection
Apr 27 12:55:04 ssc-desktop ./kamailio[17739]: NOTICE: <script>: main route
enter
Apr 27 12:55:04 ssc-desktop ./kamailio[17739]: NOTICE: <script>: AUTH route
enter
Apr 27 12:55:04 ssc-desktop ./kamailio[17739]: NOTICE: <script>: PRESENCE
route enter
Apr 27 12:55:04 ssc-desktop ./kamailio[17739]: NOTICE: <script>: registrar
route enter
Apr 27 12:55:04 ssc-desktop ./kamailio[17739]: NOTICE: <script>: MSILO route
enter
Apr 27 12:55:04 ssc-desktop ./kamailio[17739]: NOTICE: <script>: MSILO route
uri==myself
Apr 27 12:55:04 ssc-desktop ./kamailio[17739]: NOTICE: <script>: MSILO:
exit
Apr 27 12:55:13 ssc-desktop ./kamailio[17734]: NOTICE: acc [acc.c:318]:
acc_log_request(): ACC: transaction answered:
timestamp=1430121313;method=INVITE;from_tag=odZKvrDkM;to_tag=QLMaHnC;call_id=WNZGU6uIoN;code=200;reason=Ok;src_user=h001;src_domain=sscc.tk;src_ip=x.x.x.x;dst_ouser=h002;dst_user=h002;dst_domain=x.x.x.x
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: NAT
Detection
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: Dialog
route enter
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: Ack method
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: NAT
Managment
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RTPPROXY
Managment
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RTPPROXY
Managment (is request)
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RELAY route
enter
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: NAT
Detection
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: Dialog
route enter
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: Ack method
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: NAT
Managment
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RTPPROXY
Managment
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RTPPROXY
Managment (is request)
Apr 27 12:55:15 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RELAY route
enter
Apr 27 12:55:19 ssc-desktop ./kamailio[17735]: NOTICE: <script>: NAT
Detection
Apr 27 12:55:19 ssc-desktop ./kamailio[17735]: NOTICE: <script>: Dialog
route enter
Apr 27 12:55:19 ssc-desktop ./kamailio[17735]: NOTICE: <script>: Ack method
Apr 27 12:55:19 ssc-desktop ./kamailio[17735]: NOTICE: <script>: NAT
Managment
Apr 27 12:55:19 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RTPPROXY
Managment
Apr 27 12:55:19 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RTPPROXY
Managment (is request)
Apr 27 12:55:19 ssc-desktop ./kamailio[17735]: NOTICE: <script>: RELAY route
enter
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: NAT
Detection
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: Dialog
route enter
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: Bye method
dealing
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: RELAY route
enter
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: call Manage
Branch
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: calling
natmanage for dealling Manage Branch
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: NAT
Managment
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: RTPPROXY
Managment
Apr 27 12:55:27 ssc-desktop ./kamailio[17737]: NOTICE: <script>: RTPPROXY
Managment (is request)
Apr 27 12:55:27 ssc-desktop ./kamailio[17739]: NOTICE: acc [acc.c:318]:
acc_log_request(): ACC: transaction answered:
timestamp=1430121327;method=BYE;from_tag=odZKvrDkM;to_tag=QLMaHnC;call_id=WNZGU6uIoN;code=200;reason=Ok;src_user=h001;src_domain=sscc.tk;src_ip=x.x.x.x;dst_ouser=h002;dst_user=h002;dst_domain=x.x.x.x




--
View this message in context: http://sip-router.1086192.n5.nabble.com/NO-VOICE-AFTER-MSILO-tp137430p137437.html
Sent from the Users mailing list archive at Nabble.com.

_______________________________________________
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