[OpenSER-Users] Forking Madness

Chris Heiser cheiser at config.name
Thu Nov 8 20:10:08 CET 2007



On Thu, 8 Nov 2007, Christian Schlatter wrote:

> Chris Heiser wrote:
>> Yeah, I've been taking a hard look at CPL.  I did some fun fancy things 
>> with permanent registrations in openser, and avps, but that's all so 
>> terribly messy.  I think a final solution will be something like:
>> 
>> Add some permanent registrations to openser to handle some parallel fork 
>> cases.  Everything else could be handled by CPL.
>> 
>> The other nice thing about CPL is I can explicitly upload cpl files for 
>> specific users and not do a ton of lookups for avps, etc...
>
> You can avoid most of the "mess" if you don't do sequential forwarding, which 
> is what we are doing at UNC. Our analysis has shown that you can cover 95% of 
> all "follow-me" user needs with parallel forking.
>
> The upcoming 1.3 version of openser will include a module called H350 which 
> allows you to store simple call preferences in LDAP 
> (http://www.openser.org/docs/modules/1.3.x/h350.html#AEN186) which offers 
> better performance than CPL and still gives you all the routing script 
> flexibility. Not messy at all, isn't it ;-)

Interesting.  What's bothering me is your /g with AVPs to get parallel 
forking.  My experience has been that performing parallel forking using 
that method results in the failure route getting hit when any branch of 
the fork fails, whereas if I have a permanent registration in OpenSER with 
multiple entries, it seems like my failure route doesn't get called until 
they all fail.

(Can you tell that this has driven me nuts for a while now?)

--Chris

>
> The only situation where you really need sequential forking is for call 
> center applications, and for that you also need some sort of IVR/MoH in order 
> to inform the caller about the long ringing time. So I think it is best to 
> implement this with a b2bua type SIP PBX like asterisk instead of trying to 
> implement it the pure p2p SIP way.

Sure, I'm walking a fine line, but I think there's a place for small 
chains of sequential forking.  The uglier stuff comes in when you want to 
add conditionals to the process.  It seems like CPL could let me do some 
of that (or I'll have to write a module that lets you query arbitrary 
external data).  Think of something simple like "Time of Day" preferences.

--Chris

>
> just my 2c
>
>
> /Christian
>
>
>> 
>> --Chris
>> 
>> On Thu, 8 Nov 2007, Victor Gamov wrote:
>> 
>>> What about CPL? I don't play with it in OpenSER but scenario like this
>>> can be described on CPL.
>>> 
>>> -- 
>>> CU,
>>> Victor Gamov
>>> 
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.openser.org
>>> http://lists.openser.org/cgi-bin/mailman/listinfo/users
>>> 
>> 
>> _______________________________________________
>> Users mailing list
>> Users at lists.openser.org
>> http://lists.openser.org/cgi-bin/mailman/listinfo/users
>
>




More information about the Users mailing list