[OpenSIPS-Users] Provisional response handling in case of forking

Ramachandran, Agalya (Contractor) Agalya_Ramachandran at comcast.com
Tue Jul 26 20:26:47 CEST 2016


Hi Bogdan,

I have a question related to the below topic.
When am receiving more than  180 response from different destinations , am sending 1st 180 to the caller and dropping consecutive  180 's.
And this logic is working fine.

Now I have a scenario, where I need to log what are the responses sent out of Opensips.
My logic for this is, am checking the flag value. If flag is set, log the 1st 180 response, reset the flag and drop the remaining 180 response.

I could see FLAG_180 is set, and when I try to reset flag is not getting reset. Is it not possible to reset the flag values when relay is done?
I have added a route(relay2) in onreply_route  Below is the snippet of it.
Please guide me if am doing something wrong.

route[relay2] {
        if ($rs==100)
           drop();
        if ($rs==180) {
          if (isflagset(FLAG_180)){
                xlog("INFO:opensips: Flag is set \n");
                resetflag(FLAG_180);
          }
          else{
              drop();
         }
          #setflag(FLAG_180);
        }
        xlog("INFO:opensips: Sending $rs resposne out \n");
}


Regards,
Agalya
From: Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
Sent: Monday, June 13, 2016 6:31 AM
To: OpenSIPS users mailling list <users at lists.opensips.org>; Ramachandran, Agalya (Contractor) <Agalya_Ramachandran at comcast.com>
Subject: Re: [OpenSIPS-Users] Provisional response handling in case of forking

Hi Agalya,

Use the onreply route (be sure to onreply_avp_mode to be set to 1 - see http://www.opensips.org/html/docs/modules/2.2.x/tm.html#id294290) in combination with flags, to record when the an 180 reply was set.

Like:

if ($rs==180) {
    if (isflagset(FLAG_180))
        drop();
    setflag(FALG_180);
}

The onreply_avp_mode 1 will ensure that the onreply route will not overlap for 2 replies .

Regards,


Bogdan-Andrei Iancu

OpenSIPS Founder and Developer

http://www.opensips-solutions.com
On 10.06.2016 23:07, Ramachandran, Agalya (Contractor) wrote:
Hi team,

We are using opensips for our project and we are currently using opensips as proxy.
Am forking the incoming sip call, to two destinations. It Rings in both Dest A and Dest B, as a result I get two 180 Ringing response from A and B.
I want to filter only the first incoming 180 Ringing response and send to the actual caller. Is there a way to do this in opensips config file?

I have seen drop() function which drops the complete provisional response. But in my case I have to forward one 180 Ringing to the caller.
Can it be achieved by the changes in config file? Please guide me.

Regards,
Agalya





_______________________________________________

Users mailing list

Users at lists.opensips.org<mailto:Users at lists.opensips.org>

http://lists.opensips.org/cgi-bin/mailman/listinfo/users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20160726/25af4ba4/attachment.htm>


More information about the Users mailing list