[OpenSIPS-Users] Forking sip MESSAGE to multiple endpoints

Bogdan-Andrei Iancu bogdan at opensips.org
Mon Nov 19 06:49:45 EST 2018


Hi Aron,

Right now, the onreply_route is triggered all the time for all replies 
(1xx, 2xx, or higher) received on any of the branches.

Regards,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
   http://www.opensips-solutions.com
OpenSIPS Bootcamp 2018
   http://opensips.org/training/OpenSIPS_Bootcamp_2018/

On 11/16/2018 07:48 PM, Podrigal, Aron wrote:
> Thank you Bogdan.
> The question is if we can add some flag, to always trigger 
> onreply_route for each branch, so that one can do some cleanup / 
> update database based on the reply for each branch.
>
> On Fri, Nov 16, 2018, 12:25 PM Bogdan-Andrei Iancu 
> <bogdan at opensips.org <mailto:bogdan at opensips.org> wrote:
>
>     Hi Aron,
>
>     The standard SIP forking (as per RFC3261) says only one
>     destination should get the reply. Nevertheless, there is the
>     RFC3841 defining "Content-Disposition: no-cancel" to prevent the
>     proxy to send Cancel upon first 200 OK.
>     We added support for it in OpenSIPS, starting 2.4 - see flag 0x10
>     - http://www.opensips.org/html/docs/modules/2.4.x/tm.html#func_t_relay
>     but it works only for INVITEs :D
>
>     Regards,
>
>     Bogdan-Andrei Iancu
>
>     OpenSIPS Founder and Developer
>        http://www.opensips-solutions.com
>     OpenSIPS Bootcamp 2018
>        http://opensips.org/training/OpenSIPS_Bootcamp_2018/
>
>     On 11/14/2018 07:38 PM, Podrigal, Aron wrote:
>>     Hi.
>>
>>     I want to fork a MESSAGE request to multiple endpoints and handle
>>     the delivery status for each on reply.
>>
>>     currently I append_branch() for each additional destination. But
>>     the problem is, that if any branch received a 200 reply, any
>>     other branch which did not relay the request yet (ie socket
>>     connection wasn't established) or TM timer is triggered, then
>>     those branches are canceled without triggering onreply route or
>>     failure route.
>>
>>     How could I implement it, so that I can handle the timeout or
>>     failure for each endpoint?
>>
>>     Maybe t_replicate? Or is there an event raised for a canceled
>>     branch which I can subscribe to?
>>
>>
>>     Thanks
>>
>>
>>     _______________________________________________
>>     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/20181119/f7c6b7b7/attachment.html>


More information about the Users mailing list