Can you try setting the fault to delayed context, like:
rpc->fault(dctx, 500, "Wrong ETag");
Cheers,
Daniel
On 05/12/14 11:00, Juha Heinanen wrote:
Daniel-Constantin Mierla writes:
I see the logs messages, and it is ok that the
reply was not sent
message is printed, because it wasn't. But the reply is not going to be
sent because there is a check on XMLRPC_DELAYED_REPLY_F flag.
I am no longer sure what behaviour you can get currently, because you
haven't mentioned along with the logs here -- two replies or no-reply?
i have
tried numerous variations of this and have never been able to
produce a failure message when callback was not executed due to an
error.
below is one variation. it closes the unused delayed context (where
XMLRPC_DELAYED_REPLY_F was set) and uses the original rpc and c params
to send the fault message. ngrep/syslog shows this:
Dec 5 11:52:18 rautu /usr/bin/sip-proxy[4711]: INFO: pua_rpc [pua_rpc.c:222]: publish():
pua_send_publish returned 418
T 2014/12/05 11:52:18.545314 127.0.0.1:6060 -> 127.0.0.1:56145 [AP]
HTTP/1.1 200 OK.
Via: SIP/2.0/TCP 127.0.0.1:56145.
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>
Dec 5 11:52:18 rautu /usr/bin/sip-proxy[4711]: INFO: xmlrpc [xmlrpc.c:2441]:
dispatch_rpc(): reply was not sent
that is, one dummy empty reply is sent.
-- juha
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda