[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