[sr-dev] Delayed branches?

marius zbihlei marius.zbihlei at 1and1.ro
Wed Jun 30 16:20:26 CEST 2010


Jasmin Schnatterbeck wrote:
> Hi,
>
> the idea is to do parallel forking (not wait for reply or timeout), but
> wait (for each branch) a specific amount of seconds, before sending out
> the INVITE request to the contact.
>
> This could be useful, if a user
> - has a mailbox <somewhere>, which answers the call without waiting
> (like many cell phone providers' mailboxes do, if a call gets forwarded
> to them)
> - would like to predefine multiple destinations, for example tel.
> exchange and users phone, but the users phone should only ring
> _additionally_ , if the call was not answered for <x> seconds by the
> tel. exchange.
> - ...
>
> there are many use cases, but a function would be needed, which delays
> further script processing for specific branches only or (that could be
> the better solution) the definition of a special branch-individual avp
> which holds the seconds to wait and which is evaluated by tm.
>
> Jasmin
>
>   
Hello

Have you checked TM's t_suspend() and t_continue() [1]? ATM, they are 
only usable internally from modules, but I think they can provide the 
building blocks for what you want.

[1] http://kamailio.org/docs/modules/stable/modules/tm.html#t_suspend

Marius
>> Hi,
>>
>>
>> What is the goal of a "delayed branch"? What you can do (and could do
>> for many versions now) is the serial forking together with a defined
>> timeout of some seconds for each branch... (e.g. first try location 1
>> for a few seconds, then try location 2 for few seconds, ...).
>>
>>
>> Carsten
>>
>> 2010/6/30 Juha Heinanen <jh at tutpro.com>
>>         Klaus Darilion writes:
>>         
>>         > >> Hmm...letting the whole server sleep would not really be
>>         the idea ;-)
>>         > >
>>         > > i don't think that the whole server will get to sleep, but
>>         just the
>>         > > process handling the request at hand.
>>         >
>>         > So if 4 user have delayed calling, 4 processes are sleeping,
>>         thats not
>>         > good.
>>         
>>         
>>         it is not good, but such "sleeps" can happen also when an ua
>>         is not
>>         responding immediately, when you do an http query, etc.
>>         
>>         unfortunately a function
>>         execute_next_function_asynchronously() does not
>>         exit.
>>         
>>         -- juha
>>         
>>         
>>         
>>         _______________________________________________
>>         sr-dev mailing list
>>         sr-dev at lists.sip-router.org
>>         http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>>         
>>
>>
>>
>> -- 
>> Carsten Bock
>> Schomburgstr. 80
>> 22767 Hamburg
>> Germany
>>
>> Mobile +49 179 2021244
>> Home +49 40 34927217
>> Fax +49 40 34927218
>> mailto:carsten at bock.info
>>
>>
>> _______________________________________________
>> sr-dev mailing list
>> sr-dev at lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>>     
>
>
>
> _______________________________________________
> sr-dev mailing list
> sr-dev at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>
>   




More information about the sr-dev mailing list