<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hello,<br>
    <br>
    I suspect you call exit somewhere and the packets are not routed
    out.<br>
    <br>
    Load debugger module and enable cfgtrace parameter, then send the
    log messages here to see what actions from configuration files are
    executed.<br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    <div class="moz-cite-prefix">On 01/05/15 10:51, sscc wrote:<br>
    </div>
    <blockquote
      cite="mid:E03FE1E6-54D5-49C1-8FB5-25A7F411EE3C@gmail.com"
      type="cite">
      <meta http-equiv="content-type" content="text/html;
        charset=windows-1252">
      <div>am also cluless:-(<br>
        <br>
        <br>
      </div>
      <div><br>
        On 01-May-2015, at 12:01, SamyGo [via SIP Router] <<a
          moz-do-not-send="true"
          href="/user/SendEmail.jtp?type=node&node=137467&i=0"
          target="_top" rel="nofollow" link="external">[hidden email]</a>>
        wrote:<br>
        <br>
      </div>
      <blockquote style="border-left:2px solid #CCCCCC;padding:0 1em"
        type="cite">
        <div>
          <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 moz-do-not-send="true"
                  href="/user/SendEmail.jtp?type=node&node=137464&i=0"
                  target="_top" rel="nofollow" link="external">[hidden
                  email]</a>></span> wrote:<br>
              <blockquote style="border-left:2px solid #CCCCCC;padding:0
                1em" class="gmail_quote"># ----- msilo params -----<br>
                #!ifdef WITH_MSILO<br>
                <br>
                modparam("msilo", "db_url",
                "mysql://kamailio:abc@localhost/kamailio")<br>
                <br>
                modparam("msilo", "from_address", "<a
                  moz-do-not-send="true"
                  href="/user/SendEmail.jtp?type=node&node=137464&i=1"
                  target="_top" rel="nofollow" link="external">[hidden
                  email]</a>")<br>
                <br>
                modparam("msilo", "contact_hdr", "Contact: <a
                  moz-do-not-send="true"
                  href="/user/SendEmail.jtp?type=node&node=137464&i=2"
                  target="_top" rel="nofollow" link="external">[hidden
                  email]</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",
                <a class="moz-txt-link-rfc2396E" href="sip:sscc.tk:6524;transport=tcp">"sip:sscc.tk:6524;transport=tcp"</a>)<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
                  moz-do-not-send="true" href="http://sscc.tk"
                  target="_blank" rel="nofollow" link="external">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
                  moz-do-not-send="true" href="http://sscc.tk"
                  target="_blank" rel="nofollow" link="external">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
                  moz-do-not-send="true" href="http://sscc.tk"
                  target="_blank" rel="nofollow" link="external">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
                  moz-do-not-send="true" href="http://sscc.tk"
                  target="_blank" rel="nofollow" link="external">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 moz-do-not-send="true"
href="http://sip-router.1086192.n5.nabble.com/NO-VOICE-AFTER-MSILO-tp137430p137437.html"
                  target="_blank" rel="nofollow" link="external">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 <a moz-do-not-send="true"
                      href="http://Nabble.com" target="_top"
                      rel="nofollow" link="external">Nabble.com</a>.<br>
                    <br>
                    _______________________________________________<br>
                    SIP Express Router (SER) and Kamailio (OpenSER) -
                    sr-users mailing list<br>
                    <a moz-do-not-send="true"
                      href="/user/SendEmail.jtp?type=node&node=137464&i=3"
                      target="_top" rel="nofollow" link="external">[hidden
                      email]</a><br>
                    <a moz-do-not-send="true"
                      href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users"
                      target="_blank" rel="nofollow" link="external">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
                  </div>
                </div>
              </blockquote>
            </div>
            <br>
          </div>
          <br>
          _______________________________________________
          <br>
          SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
          mailing list
          <br>
          <a moz-do-not-send="true"
            href="/user/SendEmail.jtp?type=node&node=137464&i=4"
            target="_top" rel="nofollow" link="external">[hidden email]</a>
          <br>
          <a moz-do-not-send="true"
            href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users"
            target="_top" rel="nofollow" link="external">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
          <br>
          <br>
          <hr color="#cccccc" noshade="noshade" size="1">
          <div style="color:#444; font: 12px
            tahoma,geneva,helvetica,arial,sans-serif;">
            <div style="font-weight:bold">If you reply to this email,
              your message will be added to the discussion below:</div>
            <a moz-do-not-send="true"
href="http://sip-router.1086192.n5.nabble.com/NO-VOICE-AFTER-MSILO-tp137430p137464.html"
              target="_top" rel="nofollow" link="external">http://sip-router.1086192.n5.nabble.com/NO-VOICE-AFTER-MSILO-tp137430p137464.html</a>
          </div>
          <div style="color:#666; font: 11px
tahoma,geneva,helvetica,arial,sans-serif;margin-top:.4em;line-height:1.5em">
            To unsubscribe from NO VOICE AFTER MSILO, <a
              moz-do-not-send="true" href="" target="_top"
              rel="nofollow" link="external">click here</a>.<br>
            <a moz-do-not-send="true"
href="http://sip-router.1086192.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml"
              rel="nofollow" style="font:9px serif" target="_top"
              link="external">NAML</a> </div>
        </div>
      </blockquote>
      <br>
      <hr align="left" width="300">
      View this message in context: <a moz-do-not-send="true"
href="http://sip-router.1086192.n5.nabble.com/NO-VOICE-AFTER-MSILO-tp137430p137467.html">Re:
        NO VOICE AFTER MSILO</a><br>
      Sent from the <a moz-do-not-send="true"
        href="http://sip-router.1086192.n5.nabble.com/Users-f3.html">Users
        mailing list archive</a> at Nabble.com.<br>
      <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://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 World Conference, May 27-29, 2015
Berlin, Germany - <a class="moz-txt-link-freetext" href="http://www.kamailioworld.com">http://www.kamailioworld.com</a></pre>
  </body>
</html>