Peter,
thank you, first of all. i will try both and see how they work. i'm
pretty confident they will.
The docs say that the add_uri_param will only work
from the
ROUTE function, so handling gateway failover could be an
issue if you can't do it from the FAILURE_ROUTE thing...
in the failure_route i only do a ds_mark_dst(), send a "480 Temporarily
unavailable" reply, and trigger an alarm, instead of attempting to
relinquish to the next destination in sequence. most of the time the
caller's patience is less than the invite response timeout, and they
will hang up and dial again anyway.
In theory (??) you should not have to do a
ds_select_domain()
with the CANCEL branch as the destination should already be
known to OpenSER (as it routed the INVITE), so you should
just be able to t_relay() it...
regarding the CANCEL, well... that's what i thought too, it should've
been routed properely by the transaction, but as far as i remember it
didnt seem to work. i'll give it a try again with 1.1. the BYE worked
though.
Perhaps a feature request for the dispatcher module to
support transport types as well??
before i had your answers, i was in fact thinking
of doing that myself.
let me see how can i put up with what the docs say about the dispatcher
list file: "destination must be a valid SIP URI".
have a good day,
Radu M