<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hello,<br>
<br>
I am not a python parameter, but seems a limitation of the
xmlrpc_test2.py tool, the tcp dump shows that the records are sent
back in the xmlrpc response.<br>
<br>
You will have to look inside/troubleshoot the xmlrpc_test2.py and
see why it fails.<br>
<br>
Cheers,<br>
Daniel<br>
<br>
<div class="moz-cite-prefix">On 11/12/12 9:58 AM, Kristofer Signer
wrote:<br>
</div>
<blockquote
cite="mid:CAPVLOkqBk0xP3JQkV2NnfKkGAAC=Da3Ekv=j1GFRMCC-jSLKQg@mail.gmail.com"
type="cite">Hello,<br>
<div class="gmail_extra"><br>
</div>
<div class="gmail_extra">running kamailio 3.3.2.<br>
<br>
<div class="gmail_quote">On Mon, Nov 12, 2012 at 1:48 PM,
Daniel-Constantin Mierla <span dir="ltr"><<a
moz-do-not-send="true" href="mailto:miconda@gmail.com"
target="_blank">miconda@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hello,
<div class="im"><br>
<br>
On 11/12/12 10:02 AM, Kristofer Signer wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Hello,<br>
<br>
I'm trying to dig in to the kamailio XMLRPC interfaces
and the limitations I read in <a moz-do-not-send="true"
href="http://www.kamailio.org/docs/modules/stable/modules/xmlrpc.html#xmlrpc.implementation.limitations"
target="_blank">http://www.kamailio.org/docs/modules/stable/modules/xmlrpc.html#xmlrpc.implementation.limitations</a><br>
<br>
is really a no go for us.<br>
</blockquote>
</div>
which one is a 'no go'? Nested structures are supported in
the last version, iirc, the readme does not seem to be
updated for this case.</blockquote>
<div>the 'no go' is the structure {AoR, HashID, Contact, AoR,
HashID, Contacts, ...}</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
For example, when to retrieve user locations and list of
dialogs we get a xml document which is not so well
formatted and we can not successfully parse it in an
xmlrpc-parser.<br>
<br>
Is there other options for xmlrpc module?<br>
</blockquote>
<br>
</div>
If the body is not successfully parsed, it is a bug. The
limitation is about not supporting all the data types, but
when a reply is xmlrpc sent, it should be valid. Can you
test it with 1-2 location records that fail and post the
xmrpc here as well as the log error messages from the xml
parser?<br>
</blockquote>
<div><br>
</div>
<div>Actually, I don't get any errors. I'm using the python
example provided in kamailio src and that example will only
parse out one record. </div>
<div><br>
</div>
<div><br>
</div>
<div>
<div>
[krsi@vera examples]$ python xmlrpc_test2.py ul.dump foo</div>
<div>{'Domain': 'location', 'Stats': {'Records': 2,
'Max-Slots': 1}, 'AoRs': {'HashID': 1731621673, 'AoR':
'jkp-01', 'Contacts': {'Contact': {'Ruid':
'uloc-50a0ea3c-124bf-1', 'Received': '[not set]', 'Path':
'[not set]', 'Reg-Id': 0, 'Expires': 99, 'Flags': 0,
'User-Agent': 'Jitsi1.0-Linux', 'Q': 0.0, 'Instance':
'[not set]', 'State': 'CS_SYNC', 'CSeq': 11, 'Methods':
18446744073709551615L, 'CFlags': 0, 'Address':
'<a class="moz-txt-link-freetext" href="sip:jkp-01@192.168.0.214:25060;transport=udp;registering_acc=foo_bar_com">sip:jkp-01@192.168.0.214:25060;transport=udp;registering_acc=foo_bar_com</a>',
'Call-ID':
'61ac73a44826f3887a5db2371b044275@0:0:0:0:0:0:0:0',
'Socket': 'udp:192.168.0.82:5060'}}}, 'Size': 512}</div>
</div>
<div><br>
</div>
<div>As you can see,. there should be two records but only one
is parsed.</div>
<div><br>
</div>
<div><br>
</div>
<div>Here is the response body from tcpdump</div>
<div><br>
</div>
<div>
<div><?xml version="1.0"?></div>
<div><methodResponse></div>
<div><params></div>
<div><param></div>
<div><value><struct></div>
<div>
<member><name>Domain</name><value><string>location</string></value></member> </div>
<div>
<member><name>Size</name><value><int>512</int></value></member></div>
<div> <member></div>
<div> <name>AoRs</name></div>
<div> <value><struct></div>
<div>
<member><name>AoR</name><value><string>jkp-02</string></value></member></div>
<div>
<member><name>HashID</name><value><int>1731621670</int></value></member></div>
<div> <member></div>
<div> <name>Contacts</name></div>
<div> <value><struct></div>
<div> <member></div>
<div> <name>Contact</name></div>
<div>
<value><struct></div>
<div>
<member><name>Address</name><value><string><a
moz-do-not-send="true"
href="http://sip:jkp-02@192.168.0.214:35060">sip:jkp-02@192.168.0.214:35060</a></string></value></member></div>
<div>
<member><name>Expires</name><value><int>768</int></value></member></div>
<div>
<member><name>Q</name><value><double>0.000000</double></value></member></div>
<div>
<member><name>Call-ID</name><value><string><a
moz-do-not-send="true"
href="mailto:rcilzqsjfpnuihl@vera.foo.com">rcilzqsjfpnuihl@vera.foo.com</a></string></value></member></div>
<div>
<member><name>CSeq</name><value><int>383</int></value></member></div>
<div>
<member><name>User-Agent</name><value><string>Twinkle/1.4.2</string></value></member></div>
<div>
<member><name>Received</name><value><string>[not
set]</string></value></member></div>
<div>
<member><name>Path</name><value><string>[not
set]</string></value></member></div>
<div>
<member><name>State</name><value><string>CS_SYNC</string></value></member></div>
<div>
<member><name>Flags</name><value><int>0</int></value></member></div>
<div>
<member><name>CFlags</name><value><int>0</int></value></member></div>
<div>
<member><name>Socket</name><value><string>udp:<a
moz-do-not-send="true" href="http://192.168.0.82:5060">192.168.0.82:5060</a></string></value></member></div>
<div>
<member><name>Methods</name><value><int>6111</int></value></member></div>
<div>
<member><name>Ruid</name><value><string>uloc-50a0ea3c-124c0-1</string></value></member></div>
<div>
<member><name>Instance</name><value><string>[not
set]</string></value></member></div>
<div>
<member><name>Reg-Id</name><value><int>0</int></value></member></div>
<div> </struct></value></div>
<div> </member></div>
<div> </struct></value></div>
<div> </member></div>
<div> <member></div>
<div>
<name>AoR</name><value><string>jkp-01</string></value></member></div>
<div>
<member><name>HashID</name><value><int>1731621673</int></value></member></div>
<div> <member></div>
<div> <name>Contacts</name></div>
<div> <value><struct></div>
<div> <member></div>
<div> <name>Contact</name></div>
<div> <value><struct></div>
<div>
<member><name>Address</name><value><string><a
moz-do-not-send="true"
href="http://sip:jkp-01@192.168.0.214:25060">sip:jkp-01@192.168.0.214:25060</a></string></value></member></div>
<div>
<member><name>Expires</name><value><int>185</int></value></member></div>
<div>
<member><name>Q</name><value><double>0.000000</double></value></member></div>
<div>
<member><name>Call-ID</name><value><string>61ac73a44826f3887a5db2371b044275@0:0:0:0:0:0:0:0</string></value></member></div>
<div>
<member><name>CSeq</name><value><int>12</int></value></member></div>
<div>
<member><name>User-Agent</name><value><string>Jitsi1.0-Linux</string></value></member></div>
<div>
<member><name>Received</name><value><string>[not
set]</string></value></member></div>
<div>
<member><name>Path</name><value><string>[not
set]</string></value></member></div>
<div>
<member><name>State</name><value><string>CS_SYNC</string></value></member></div>
<div>
<member><name>Flags</name><value><int>0</int></value></member></div>
<div>
<member><name>CFlags</name><value><int>0</int></value></member></div>
<div>
<member><name>Socket</name><value><string>udp:<a
moz-do-not-send="true" href="http://192.168.0.82:5060">192.168.0.82:5060</a></string></value></member></div>
<div>
<member><name>Methods</name><value><int>18446744073709551615</int></value></member></div>
<div>
<member><name>Ruid</name><value><string>uloc-50a0ea3c-124bf-1</string></value></member></div>
<div>
<member><name>Instance</name><value><string>[not
set]</string></value></member></div>
<div>
<member><name>Reg-Id</name><value><int>0</int></value></member></div>
<div> </struct></value></div>
<div> </member></div>
<div> </struct></value></div>
<div> </member></div>
<div> </struct></value></div>
<div> </member></div>
<div> <member></div>
<div> <name>Stats</name></div>
<div> <value><struct></div>
<div>
<member><name>Records</name><value><int>2</int></value></member></div>
<div>
<member><name>Max-Slots</name><value><int>1</int></value></member></div>
<div> </struct></value></div>
<div> </member></div>
<div> </struct></value></div>
<div></param></div>
<div></params></div>
<div></methodResponse></div>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>and for reference, the same command from kamctl: </div>
<div><br>
</div>
<div> [krsi@sipproxy1 ~]$ kamctl mi ul_dump</div>
<div>Domain:: location table=512 records=2 max_slot=1</div>
<div> AOR:: jkp-02</div>
<div> Contact:: <a moz-do-not-send="true"
href="http://sip:jkp-02@192.168.0.214:35060">sip:jkp-02@192.168.0.214:35060</a>
Q=</div>
<div> Expires:: 1961</div>
<div> Callid:: <a
moz-do-not-send="true"
href="mailto:rcilzqsjfpnuihl@vera.foo.se">rcilzqsjfpnuihl@vera.foo.se</a></div>
<div> Cseq:: 383</div>
<div> User-agent:: Twinkle/1.4.2</div>
<div> State:: CS_SYNC</div>
<div> Flags:: 0</div>
<div> Cflag:: 0</div>
<div> Socket:: udp:<a
moz-do-not-send="true" href="http://192.168.0.82:5060">192.168.0.82:5060</a></div>
<div> Methods:: 6111</div>
<div> Ruid:: uloc-50a0ea3c-124c0-1</div>
<div>
Reg-Id:: 0</div>
<div> AOR:: jkp-01</div>
<div> Contact:: <a moz-do-not-send="true"
href="http://sip:jkp-01@192.168.0.214:25060">sip:jkp-01@192.168.0.214:25060</a>
Q=</div>
<div> Expires:: 298</div>
<div> Callid::
61ac73a44826f3887a5db2371b044275@0:0:0:0:0:0:0:0</div>
<div> Cseq:: 10</div>
<div> User-agent:: Jitsi1.0-Linux</div>
<div> State:: CS_SYNC</div>
<div> Flags:: 0</div>
<div> Cflag:: 0</div>
<div> Socket:: udp:<a
moz-do-not-send="true" href="http://192.168.0.82:5060">192.168.0.82:5060</a></div>
<div> Methods:: 4294967295</div>
<div> Ruid:: uloc-50a0ea3c-124bf-1</div>
<div> Reg-Id:: 0</div>
<div><br>
</div>
<div><br>
</div>
<div>Thanks</div>
<div>./Kristofer</div>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
For example, siremis uses the xmlrpc interface and all is ok
with handling the replies. It uses a library from php pear.<br>
<br>
Cheers,<br>
Daniel<span class=""><font color="#888888"><br>
<br>
-- <br>
Daniel-Constantin Mierla - <a moz-do-not-send="true"
href="http://www.asipto.com" target="_blank">http://www.asipto.com</a><br>
<a moz-do-not-send="true"
href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a>
- <a moz-do-not-send="true"
href="http://www.linkedin.com/in/miconda"
target="_blank">http://www.linkedin.com/in/miconda</a><br>
<br>
</font></span></blockquote>
</div>
<br>
</div>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Daniel-Constantin Mierla - <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a>
<a class="moz-txt-link-freetext" href="http://twitter.com/#!/miconda">http://twitter.com/#!/miconda</a> - <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a></pre>
</body>
</html>