i added debug to xmlrpc/rpc_fault():
static void rpc_fault(rpc_ctx_t* ctx, int code, char* fmt, ...) { LM_INFO("running rpc_fault '%d'/'%s'\n", code, fmt);
and got this:
### from ngrep HTTP/1.1 200 OK. Via: SIP/2.0/TCP 127.0.0.1:52948. Server: OpenXg SIP Proxy (4.3.0-0 (i386/linux)). Content-Length: 108. . <?xml version="1.0"?> <methodResponse> <params> <param> <value></value> </param> </params> </methodResponse>
### from syslog Dec 3 09:06:13 rautu /usr/bin/sip-proxy[19727]: INFO: xmlrpc [xmlrpc.c:917]: rpc_fault(): running rpc_fault '500'/'Wrong ETag'
the dummy xmlrpc reply is thus sent by somebody before
rpc->fault(c, 500, "Wrong ETag");
has a change to do its job.
-- juha