[OpenSER-Users] Forking Madness

Chris Heiser cheiser at config.name
Fri Nov 2 22:30:10 CET 2007


And let me throw one more wrench into the mix:

On Fri, 2 Nov 2007, Chris Heiser wrote:

>
>
> On Fri, 2 Nov 2007, Juha Heinanen wrote:
>
>> Chris Heiser writes:
>>
>>> Call comes in for user A:
>>>    - Use avp_db_load to find that user A wants to parallel fork to 123 and 456
>>>    - Call to 123 fails because there's no registration
>>>    - Call to 456 times out
>>>
>>>    == At this point we serial fork to the next step which might hbe
>>>      - Just call my cell
>>>
>>> What's unclear to me is how to actually achieve this logic.  I mean,
>>> getting the initial parallel fork is quite simple using avp_pushto.
>>
>> you can add permanent registrations for the aor of the user pointing to
>> 123, 456 and your mobile number.  just make sure that q value of the mobile
>> is lower that q value of 123 and 456.
>>
>
> if 123 and 456 are registered endpoints, how do I influence their q value?
>
> And lets complicate things more,  what if I wanted to call 123 first, then
> my cell, then 123 again?
>
> Would I solve all this by adding permanent registrations that point back
> to OpenSER for registered endpoints, etc...?  So a user would have a bunch
> of permanent registrations with decreasing q values that point into
> OpenSER, PSTN gateway, Voicemail, etc...?


What if I want to adjust the timers for each step based on some users' 
preference?  I could see doing something ugly and overloaded like:

Add contacts with USER-TIMEOUT as permanent subscriptions, add a 
t_on_branch, and in the branch, rewrite the RURI to remove the timeout and 
set the invite timer properly.  I don't even know if that will work 
nicely.

If I knew the Q value before t_relay, I could have avps assigned per q 
value to set the timeout dynamically.

>
>>> Comments?  Ideas?  Thoughts?  Am I totally insane?  Should I be using a
>>> specific module for this?
>>
>> you should be able to accomplish the above this using lcr modules's
>> load_contacts()/next_contacts() functions.
>>
>> -- juha
>>
>
> _______________________________________________
> Users mailing list
> Users at lists.openser.org
> http://lists.openser.org/cgi-bin/mailman/listinfo/users
>




More information about the Users mailing list