[Devel] Serial forking

Bogdan-Andrei Iancu bogdan at voice-system.ro
Tue Dec 6 12:12:53 CET 2005


Hi Klaus,

there are two kind of transport errors: whichs pops up during sending 
the message, like during connect (for TCP) or send. These can be caught 
as errors returned by t_relay() - maybe here we need to to disable to 
auto -reply in case of error.

for timeout errors, they are reported as 408 Timeout at SIP level and 
via t_local_replied() you can check if some SIP replies were received or 
not.

so, there is a basic mechanism to catch the transport error. Regarding 
the ICMP, the problem is that the behaviour is not the same on different 
OS (linux, BSD, solaris)....

regards,
bogdan

Klaus Darilion wrote:

> Juha Heinanen wrote:
>
>> Bogdan-Andrei Iancu writes:
>>
>>  > So, what I suggest is to move/rename this functions into the core 
>> in  > order to make them usable by any other modules. and the problem 
>> will be  > solved...
>>
>> fine with me as long as also the timer variables are supported.
>>
>>  > with a little bit of effort, we can use this also for SRV serial
>>  > forking ;).
>>
>> if resolving SRV record returns more than one result, it should be easy
>> to add branches accordingly exactly as enum module does with NATPR
>> records.
>
>
> Yes. But we need a function for the failure route to distinguish SIP 
> failures (404 ...) from transport failures. Further, it would be nice 
> if openser would process ICMP error messages for faster failover.
>
> Also we need different timer for:
>  - SIP timeouts: e.g. a timeout if the callee does not pick up after 1 
> minutes of ringing
>  - network failures: i do not want to wait for 32 seconds till my 
> proxy tries the next server
>
> regards
> klaus
>




More information about the Devel mailing list