[OpenSIPS-Users] Intercepting a 302 response and dispatching an INVITE to a new destination set

Bogdan-Andrei Iancu bogdan at opensips.org
Fri Oct 13 10:06:33 EDT 2017


Hi,

As Alex said, in failure_route (for calls via dispatcher) test for a 3xx 
reply and if the case simply set a new RURI (as you normally do when 
routing requests) and do t_relay() again - by sending the call out to a 
new destination, the received 3xx will be automatically discarded.

Regards,

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

On 09/07/2017 08:34 PM, Blagovest Buyukliev wrote:
> The onreply_route is never armed, but gets executed.
>
> The failure_route[initial_request] is armed via 
> t_on_failure("initial_request") and actually gets executed after the 
> onreply_route (as per my last test).
>
> Can we stop the propagation of the 302 from within failure_route, or 
> is it considered already sent after the execution of onreply_route?
>
>> On Sep 7, 2017, at 8:12 PM, Alex Balashov <abalashov at evaristesys.com 
>> <mailto:abalashov at evaristesys.com>> wrote:
>>
>> Don't arm the onreply_route. Doesn't the failure_route get called?
>>
>> On September 7, 2017 1:08:55 PM EDT, Blagovest Buyukliev 
>> <blagovest at voipfone.co.uk <mailto:blagovest at voipfone.co.uk>> wrote:
>>> Which functions need to be used for that?
>>>
>>> The current routing logic is roughly what's listed below and the
>>> problematic issues are commented.
>>>
>>> How can it be modified to accomplish what you've described?
>>>
>>> route {
>>>   ...
>>>   loose_route();
>>>   record_route();
>>>   t_on_failure("initial_request");
>>>   t_relay();
>>>
>>>   # We are okay here, the initial INVITE is passed to a local server.
>>> }
>>>
>>> onreply_route {
>>>   if ($rs == 302) {
>>> # The 302 is caught here, but we are pretty much handicapped to do
>>> anything in this block.
>>> # The response is passed back to the external network, which is
>>> undesired.
>>>   }
>>> }
>>>
>>> failure_route[initial_request] {
>>> # How can we arrive here right upon the receipt of the 302, not in
>>> onreply_route?
>>> }
>>>
>>>> On Sep 5, 2017, at 4:54 PM, Alex Balashov 
>>>> <abalashov at evaristesys.com <mailto:abalashov at evaristesys.com>>
>>> wrote:
>>>>
>>>> Yes, failure_route is the answer to all your objectives here. You can
>>>> intercept the 302, extract what you want from it, create a new branch
>>>> and fork the call elsewhere.
>>>>
>>>> -- 
>>>> Alex Balashov | Principal | Evariste Systems LLC
>>>>
>>>> Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
>>>> Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>> -- Alex
>>
>> --
>> Sent via mobile, please forgive typos and brevity.
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
>
> _______________________________________________
> Users mailing list
> 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/20171013/9e84bdb0/attachment-0001.html>


More information about the Users mailing list