after playing with t_newtran(), i started to get these to syslog:
Oct 7 15:39:11 sip /usr/sbin/sip-proxy[26119]: WARNING: tm [t_lookup.c:1543]: WARNING: script writer didn't release transaction
as far as i remember, in k these messages were not printed, because transactions were freed automatically when script ended.
also, example in section 1.3.3. nonce_count of auth module does not include any t_release() calls. where exactly should they be put?
-- juha
On Oct 07, 2010 at 15:45, Juha Heinanen jh@tutpro.com wrote:
after playing with t_newtran(), i started to get these to syslog:
Oct 7 15:39:11 sip /usr/sbin/sip-proxy[26119]: WARNING: tm [t_lookup.c:1543]: WARNING: script writer didn't release transaction
as far as i remember, in k these messages were not printed, because transactions were freed automatically when script ended.
The transaction are freed automatically in sr too, but the message is there to show a script bug (transaction created but no action taken, no forward, no reply, no release).
also, example in section 1.3.3. nonce_count of auth module does not include any t_release() calls. where exactly should they be put?
You don't need t_release(). t_reply() or t_relay() is enough. Looking at the example the only case where it doesn't t_reply() is if authentication is successful and the request is not a REGISTER. You probably forgot to t_relay() after authentication or you sl_send_reply()ed and authenticated request (for which a transaction was already created).
We could add a t_relay() in the example though.
Andrei
Andrei Pelinescu-Onciul writes:
The transaction are freed automatically in sr too, but the message is there to show a script bug (transaction created but no action taken, no forward, no reply, no release).
ok, that came because of the buggy www_challenge() that existed the script without sending the reply statefully.
You don't need t_release(). t_reply() or t_relay() is enough. Looking at the example the only case where it doesn't t_reply() is if authentication is successful and the request is not a REGISTER. You probably forgot to t_relay() after authentication or you sl_send_reply()ed and authenticated request (for which a transaction was already created).
see above. www_challenge()/proxy_challenge() need to be fixed.
-- juha