Chris Heiser wrote:
So I've been all over the place looking at various
examples, threads, issues,
and solutions to all sorts of forking scenarios. What I haven't been able to
find is a solution to my odd corner case. Let me explain the forking scenario:
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.
What's unclear is how to setup the failure route to know that you can ignore a
failure in any of the forks until the last fork as failed, and then it's time
to move on.
Something like, "are there other branches pending?" would be a nice check to
determine if the failure route should just drop or if it should append a branch
(or two) for the next serial fork.
Comments? Ideas? Thoughts? Am I totally insane? Should I be using a
specific module for this?
What about CPL? I don't play with it in OpenSER but scenario like this
can be described on CPL.
--
CU,
Victor Gamov