Not as far as I know. I realized serial forking by sequence of failure_routes and exec_dset

Like:

 

route[1]{

        xlog("L_ALERT", "\n(%ci:%is) entering route[1] (%ru)\n");

        if ((isflagset(5)) || (isflagset(6))) {

                xlog("L_ALERT", "\n(%ci:%is) (rt1) at least one of the participants is NATed->record_route\n");

                xlog("L_ALERT", "\n(%ci:%is) (rt1) -->setting up reply processing ->onreply_route[1]");

                t_on_reply("1");

                if (method=="INVITE") {

                        xlog("L_ALERT", "\n(%ci:%is) (rt1) INVITE request-->force_rtp_proxy, set NATED-INVITE flag(7)");

                        force_rtp_proxy();

                        append_hf("P-hint: rt1, request forced to rtp proxy\r\n");

                        setflag(7);

                };

        };

 

        consume_credentials();

        if(method=="INVITE") {

                t_on_reply("1");

                t_on_failure("1");

        }

        record_route();

        consume_credentials();

 

        xlog("L_ALERT", "\n(%ci:%is) (rt1) relaying message ... (%tu)");

        if (!t_relay()) {

                log(1, "(rt1) t_relay error occured\n");

                sl_reply_error();

        };

}

 

onreply_route[1] {

        xlog("L_ALERT", "\n(%ci:%is) onreply_route[1] entered\n");

 

        if ((isflagset(5)) || (isflagset(6))) {

                xlog("L_ALERT", "\n(%ci:%is) (or1) transaction was sent to a NATED client -> fix nated contact\n");

                fix_nated_contact();

                append_hf("P-hint: or1, fixed NAT contact for response\r\n");

        }

 

        if ( (status=~"100") ) {

                xlog("L_ALERT", "\n(%ci:%is) (or1) status 100 received\n");

        };

 

        if ( (status=~"180") ) {

                xlog("L_ALERT", "\n(%ci:%is) (or1) status 180 received\n");

        };

 

        if ( (status=~"202") ) {

                xlog("L_ALERT", "\n(%ci:%is) (or1) status 202 received\n");

        };

 

        if ( (status=~"200" || status=~"183") ) {

                xlog("L_ALERT", "\n(%ci:%is) (or1) status 2xx or 183");

                if ( isflagset(7) ) {

                        xlog("L_ALERT", "\n(%ci:%is) (or1) marked(7) as NATED-INVITE -> force_rtp_proxy \n");

                        force_rtp_proxy();

                        append_hf("P-hint: or1, response forced to rtp proxy\r\n");

                };

        };

}     

 

failure_route[1] {

        xlog("L_ALERT", "\n(%ci:%is) failureroute[1] entered\");

        exec_dset("/usr/local/ser/bin/getroute_a 3");

        if (uri=~"sip:[loop|stop]@sip.frontlineglobal.net") {

              xlog("L_ALERT", "\n(%ci:%is) STOP DETECTED");

              break;

        }

        t_on_failure("2");

        t_on_reply("1");

        xlog("L_ALERT", "\n(%ci:%is) (fr1) relaying message ...(%tu)");

        append_branch();

        if (!t_relay()) {

                xlog("L_ALERT", "\n(%ci:%is) (fr1) t_relay error occured\n");

        };

}

failure_route[2] {

        xlog("L_ALERT", "\n(%ci:%is) failureroute[2] entered\");

        exec_dset("/usr/local/ser/bin/getroute_a 3");

        if (uri=~"sip:[loop|stop]@sip.frontlineglobal.net") {

              xlog("L_ALERT", "\n(%ci:%is) STOP DETECTED");

              break;

        }

        t_on_failure("3");

        t_on_reply("1");

        xlog("L_ALERT", "\n(%ci:%is) (fr2) relaying message ...(%tu)");

        append_branch();

        if (!t_relay()) {

                xlog("L_ALERT", "\n(%ci:%is) (fr2) t_relay error occured\n");

        };

}

 

… etc

 

 

So far it doing what I want J

 

And this is kind of combination paraller and serial forking

 

Btw, serial is not really forking.. this is more steps.. or I misunderstand your question ?

 

 

 


From: serusers-bounces@lists.iptel.org [mailto:serusers-bounces@lists.iptel.org] On Behalf Of bert berlin
Sent: Thursday, June 24, 2004 11:47 AM
To: serusers@lists.iptel.org
Subject: [Serusers] Turn off forking in SER?

 

Is it possible, with the present implementation of SER, by means only of the ser.cfg file, to get SER to use serial forking in place of parallel forking? 

thanks,
bert

--

Bert Berlin

Quintum Technologies, Inc.
71 James Way
Eatontown,NJ 07724
ph 732-460-9000 ext 247