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(a)lists.openser.org
http://lists.openser.org/cgi-bin/mailman/listinfo/users