Hi Juha, Hi Stefan,

indeed asynchronous replies was a problem from the beginning when implementing the XMLRPC module. For the moment there is no support for that in XMLRPC (only in FIFO) and I tried to find several solutions.

I agree with Stefan that the solution he suggested have some drawbacks. Exploiting some implementation feature of libxmlrpc-c3 library I can suggest another solution (of course, with its one drawbacks :) ).

libxmlrpc-c3 uses the abyss http server and it forks a new process for each requests - so a process processes a single requests - this would give us the liberty to block and wait until the TM generates the SIP reply in order to build the xmlrpc response. And this with no risk of blocking the openser or the XMLRPC server. the draw back is that you can and with a large number of processes (from abyss) waiting for sending replies - this does not affect the CPU load as all of them will be blocked in I/O.


regards,
bogdan

Stefan Sayer wrote:



Juha Heinanen wrote:

now that i'm able to issue t_uac_dlg requests over xml-rpc, the next
question is how can i get access to the reply? in fifo implementation that happened by reading the reply fifo file.

i would assume that in xml-rpc implementation the reply would be
returned in the params section of xml-rpc response to t_uac_dlg, but in

but then the xmlrpc call would have to wait until final response (or timeout) of the request, which would not be desirable. I think using xmlrpc the only ways would be that either t_uac_dlg returns a handle which can be polled for the status of the request (bad - when should openser forget the state which is saved for a request?), or one parameter of the call would be a uri where a callback over xmlrpc could be done by openser (ugly and bad aswell - this could block openser).

xmlrpc is not really suited for this, because of its simple request-reply model which does not support anything like a callback mechanism, do i see that right?

Stefan

my tests the only param of the response has been empty.

-- juha

Received the following response:

HTTP/1.1 200 OK
Content-type: text/xml; charset="utf-8"
Content-length: 147
Connection: close
Date: Fri, 15 Dec 2006 11:45:14 GMT
Server: ABYSS/0.3

<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<params>
<param><value><string></string></value></param>
</params>
</methodResponse>

_______________________________________________
Devel mailing list
Devel@openser.org
http://openser.org/cgi-bin/mailman/listinfo/devel




_______________________________________________
Devel mailing list
Devel@openser.org
http://openser.org/cgi-bin/mailman/listinfo/devel

Reply via email to