[Serusers] xmlrpc calls
zkeatts
zkeatts at nuvio.com
Mon Aug 15 23:21:28 CEST 2005
I think I have figured out why it would only accept location or aliases as a valid table. Doing
a userloc.statistics returns to me those two specific table names listed as a member of domain.
Is it possible to add other tables under the accepted domain structure?
As for show_contacts I have run several more tests, but I still have not managed to get anything
other than errors. I have manually added an entry into locations with the following data
+-----------+--------+-------------------------+----------+---------------------+-------+-------------------------------------+------+---------------------+-----------+-------+-------+---------------------------------------+
| username | domain | contact | received | expires | q | callid | cseq | last_modified | replicate | state | flags | user_agent |
+-----------+--------+-------------------------+----------+---------------------+-------+-------------------------------------+------+---------------------+-----------+-------+-------+---------------------------------------+
| 271nv1001 | | sip:271nv1001 at localhost | NULL | 2020-05-28 21:32:15 | -1.00 | 3653736-e3498618-a7aa0347 at localhost | 42 | 2005-08-15 16:07:31 | 0 | 0 | 0 | PolycomSoundPointIP-SPIP_500-UA/1.4.1 |
+-----------+--------+-------------------------+----------+---------------------+-------+-------------------------------------+------+---------------------+-----------+-------+-------+---------------------------------------+
I still get an AOR error when I try the following AOR's in my XML query.
<value><string>271nv1001</string></value>
<value><string>271nv1001 at localhost</string></value>
<value><string>sip:271nv1001 at localhost</string></value>
<value><string>3653736-e3498618-a7aa0347 at localhost</string>
Those seem to be the only logical choices for the AOR. Why would it still be returning an AOR
not found?
Thanks,
Zach Keatts
Software Engineer
Nuvio.com
zkeatts wrote:
> Jan,
>
> Thank you for your explanation, it has really cleared up a lot of my
> questions. I am confused on one point, where you said "location"
> should be the value that I am
> using. Are there a set number or only a specific few tables that will
> be accepted by
> this call? When I use location I get the XML reply
>
> <value><string>AOR Not Found</string></value>
>
> which is expected, because my "location" table is empty. When I
> switch "subscriber" for "location" I get the following reply
>
> <value><string>Table Not Found</string></value>
>
> That is perplexing since we both know that suscbribers is there.
> Looking at the library itself I have been able to determine that I
> will get this sort of reply when the system cannot
> find the domain.
>
> ul_rpc.c (lines 374 - 403)
>
> rpc_find_domain(&t, &d);
> if (d) {
> ...
> }else {
> rpc->fault(400, "Table Not Found");
> }
>
> Why does the system find a domain for "location" but not for
> "subscriber"? E
>
> Thank you for your patience so far,
>
> Zach Keatts
> Software Engineer
> Nuvio.com
>
>
> Jan Janak wrote:
>
>> 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
>>>
>>
>
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
More information about the sr-users
mailing list