[Serusers] Turn off forking in SER?

Vitaly Nikolaev vitaly at switchgate.com
Thu Jun 24 19:35:48 CEST 2004


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 :-)

 

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 at iptel.org [mailto:serusers-bounces at lists.iptel.org] On
Behalf Of bert berlin
Sent: Thursday, June 24, 2004 11:47 AM
To: serusers at 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 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20040624/e6e575b6/attachment.htm>


More information about the sr-users mailing list