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

Bogdan-Andrei Iancu bogdan at opensips.org
Fri Jul 29 14:45:42 CEST 2016


Hi Agalya,

Inthe onreply_route(), the logic seems ok:
     * if flag set -> drop and log
     * for all 180, set the flag.
This should allow only the first 180 reply to pass.

But I do not understand what is the purpose of the relay2 route? the 
onreply route should go everything you need (in terms of 180 logic).

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 27.07.2016 16:27, Ramachandran, Agalya (Contractor) wrote:
>
> Hi Bogdan,
>
> Yes you are correct. Am trying to implement that logic. (keep and log 
> the first 180, drop the others)
>
> Am giving you snippet of onreply_route and relay2 attached here with 
> this mail.
>
> My intention is just to log the response sent by OpenSIPS. For other 
> responses logic seems good and I could see that response sent out are 
> logged.
>
> Only for 180 resposne, am not meeting my condition.
>
> Correct me if am wrong.
>
> Regards,
>
> Agalya
>
> *From:*Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
> *Sent:* Wednesday, July 27, 2016 3:22 AM
> *To:* Ramachandran, Agalya (Contractor) 
> <Agalya_Ramachandran at comcast.com>; OpenSIPS users mailling list 
> <users at lists.opensips.org>
> *Subject:* Re: [OpenSIPS-Users] Provisional response handling in case 
> of forking
>
> Hi Agalya,
>
> First, take care that you can set and trigger only one reply route per 
> transaction !
>
> Now, looking at your logic in the script, it does not reflect your 
> statement : keep and log the first 180, drop the others <- is this 
> correct ?
>
> Best regards,
>
> Bogdan-Andrei Iancu
> OpenSIPS Founder and Developer
> http://www.opensips-solutions.com
>
> On 26.07.2016 21:26, Ramachandran, Agalya (Contractor) wrote:
>
>     Hi Bogdan,
>
>     I have a question related to the below topic.
>
>     When am receiving more than  180 response from different
>     destinations , am sending 1^st 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 1^st 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" <INFO:opensips:Flagisset%5Cn>);
>
>     resetflag(FLAG_180);
>
>               }
>
>               else{
>
>          drop();
>
>              }
>
>     #setflag(FLAG_180);
>
>             }
>
>             xlog("INFO:opensips: Sending $rs resposne out \n"
>     <INFO:opensips:Sending$rsresposneout%5Cn>);
>
>     }
>
>     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>
>     <mailto:users at lists.opensips.org>; Ramachandran, Agalya
>     (Contractor) <Agalya_Ramachandran at comcast.com>
>     <mailto: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/20160729/3e85b9f2/attachment.htm>


More information about the Users mailing list