Hello,
I´m searching for a way to keep track about success or
failure of locally generated SUBSCRIBE transactions, which are
typically triggered by the RLS module. In case that a
subscription is rejected by the subscribee with any negative
response code or the transaction is timing out, I have to
trigger a specific action (e.g. sending a PUBLISH message to
another user agent). This seems to be not so easy....
As Kamailio does not support referencing a failure_route to
locally generated requests, I had the idea to "forward()"
locally generated requests in the event_route "tm:local-request"
to itself and handle the forwarded requests in the standard
request_route, which would offer all usual options. But that
seems not to be supported / allowed by Kamailio, as I have in
practical tests (1) an outgoing request that is sent to the
original Destination-URI (with a malformed "Content-Length" SIP
hdr) and (2) the second request that is sent to the manual
target (loop).
I´ve found in the mailing list that elder Kamailio versions
did not support any common way for this feature. However, can
anybody give m a hint if / how this could eventually be solved
with the event_route or in any alternative route? It seems that
the Kamailio internally generated requests are still below the
radar of TM or any other route blocks except
tm:local-request.....
it should be possible to loop back a local generated request. In
tm:local-request you can set $du to itself. If $du is already set,
then add it as a header and recover it when the request is received
again.