[Serusers] xmlrpc calls

Jan Janak jan at iptel.org
Thu Aug 11 14:54:50 CEST 2005


The function expects two parameters, the first one is the name of the
table ("location" in your case) and the 2nd parameter is AOR (Address Of
Record), the XML-RPC request should look like this:

<?xml version=\"1.0\"?>
<methodCall>
<methodName>usrloc.show_contacts</methodName>
<params>
<param>
  <value><string>location</string></value>
</param>
<param>
  <value><string>jan at iptel.org</string></value>
</param>
</params>
</methodCall>

Here is how you could find out what parameters does the function expect:

Open ul_rpc.c and lookup function rpc_show_contacts.
The function contains the following code at the beginning:

if (rpc->scan("SS", &t, &aor) < 0) return;

Function scan reads and parses the parameters. In this particular example
you can see that the function expects two string parameters (hence
double S in the formatting string) and from the name of the variables
you could guess that the first one is the table name (well, t is not
very descriptive, I admit), and the 2nd one is AOR.

  Jan.

On 09-08-2005 12:03, zkeatts wrote:
> I am currently trying to do an xml-rpc call to usrloc.show_contacts.  
> The xml packet I am sending is the following
> 
> POST /RPC2 HTTP/1.0
> User-Agent: Radio UserLand/7.1b7 (WinNT)
> Host: localhost:5060
> Content-Type: text/xml
> Content-length: 131
> 
> <?xml version=\"1.0\"?>
> <methodCall>
> <methodName>usrloc.show_contacts</methodName>
> <params>
> </params>
> </methodCall>
> 
> As a return packet I am getting
> 
> HTTP/1.0 200 OK
> Via: SIP/2.0/UDP 127.0.0.1:32769
> Server: Sip EXpress router (0.10.99-janakj_experimental (i386/linux))
> Content-Length: 303
> Warning: 392 127.0.0.1:5060 "Noisy feedback tells:  pid=5820 
> req_src_ip=127.0.0.1 req_src_port=32769 in_uri=/RPC2 out_uri=/RPC2 
> via_cnt==1"
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <methodResponse>
> <fault>
> <value><struct>
> <member><name>faultCode</name>
> <value><i4>400</i4></value></member>
> <member><name>faultString</name>
> <value><string>More Parameters Expected</string></value></member>
> </struct></value>
> </fault>
> </methodResponse>
> 
> This tells me that I am not entering the correct information, but I am 
> at a loss to exactly what else I should be inserting.
> 
> I did a search for rpc_show_contacts and found in 
> ./sip_router/modules/usrloc/ul_rpc.c
> 
> static void rpc_show_contacts(rpc_t* rpc)
> 
> After searching some more I could not find the rpc_t structure.  Does 
> anyone know what values I should be passing via XML?
> 
> Thanks,
> 
> Zach Keatts
> Software Engineer
> Nuvio.com
> 
> 
> 
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers




More information about the sr-users mailing list