[OpenSIPS-Users] [OpenSIPS-Devel] [Request for Brain[storming]] New types of routes in config

Bogdan-Andrei Iancu bogdan at voice-system.ro
Tue Apr 28 14:56:45 CEST 2009


Hi Thomas,

Thomas Gelf wrote:
> Hi Bogdan,
>
> here my 2 Euro Cents, following your brainstorm request:
>
>
>   
>> 1. Init Route (new)
>>     
>
> Personally I do not have immmediate need for this feature, but as soon
> as I start digging into memcache support it will be really useful. As
> it also shouldn't be that hard to implement: please do it!
>   
yes, it is not hard to do it, and as time as it brings some added value, 
why not :)
>   
>> 2. Reply Route (change)
>>     
>
> I have encountered some issues, for example with uac_replace_from calls
> for specific branches - I'm pretty sure such an enhancement would clean
> up such scenarios / make them easier to implement.
>
> The following should IMO be possible:
>
> route[] {
>     t_on_reply(1);
> }
>
> branch_route[] {
>     if (whatever) {
>         # this will not affect other branches
>         t_on_reply(2);
>     }
> }
>
> If this is how it would work: great, I would really welcome such an
> enhancement.
>   

yes, that's my idea - if you set onreply_route from request_route -> it 
will be used for all branches; but if you set it from Branch_route -> 
only for that branch.

>
>   
>> 3. Reply Route (change) versus branch_completed Route
>>     
>
> To summarize my questions / your explainations on IRC:
>
> - branch_completed[] will be triggered when a branch is completed = when
>   a final response is received on that branch (reply >=200)
> - Calling drop() in branch_completed[] will prevent failure_route from
>   being triggered for replies >=400
> - When triggering a new branch in branch_completed[], minor branches
>   will still remain active and are not going to be CANCELed
>
> This seems very useful and would allow clean routing scripts for complex
> scenarios. I would welcome also this addition!
>   

so you are in favour of branch_complete route, instead of chaginf the 
reply_route to allow new branch creation? Actually, thinking more on 
this, these 2 approaches do not exclude one each other :D
>
>   
>> 4. Timer based route
>>     
>
> This ould be a nice feature. It's not something I have immediate need
> for - and I guess it could be tricky to implement it, probably with some
> side effects... If you want to face the challenge: feel free to do so ;)
>
> My personal favourites are 2. and 3. - 1. should not be that hard, and
> if there is enough time and interest for 4.: I'm absolutely not against
> it. Can someone provide a concrete example where this could make sense?
>   
An example was on the mailing list - asyncron parallel forking (instead 
of firing all branches in the same time, they will fired with some delays).
> And: we would also need individual timeouts for each delayed branch,
> correct?
>   
timeout per branch during parallel forking? interesting.....I guess it 
can be done....

Regards,
Bogdan



More information about the Users mailing list