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